一個Javaweb綜合實例
http://mapdf.net/show.asp?id=3824
一個Javaweb綜合實例 在實際應用中僅用一個servlet來完成所有的任務是不實際的通常 我們把業務處理分成多個任務,每個任務用一個serverlet來處理 下面是一個簡化的銀行事務的例子,然後包含下列組件。 login.html error.html LoginServlet AccountServlet 用戶通過login.html頁面驗證登錄信息再顯示Account信息。實現servlet之間的數據傳送
login.html 代碼: <!DOCTYPE html> <html> <head> <title>login.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body> This is my loginpage. <br> <form method="get" action="login.do"><p> <input type="text" name="username"></p><p> <input type="password" name="password"></p><p> <input type="submit" name="button1"><input type="reset" name="button2"></p><p> </p><p> </p><p> </p></form></body> </html> |
longinservlet 和 accouservlet 代碼
longinservlet
package com.demo;
import java.io.*;
import java.util.HashMap;
import javax.servlet.*;
import javax.servlet.http.*;
public class Loginservlet extends HttpServlet
{
ServletContext context;
HashMap<String,String > users=new HashMap<String, String >();
public void init(){
context=getServletContext();
users.put("ann","aaa");
users.put("john","jjj");
users.put("mark","mmm");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
String username=request.getParameter("username");
String password=request.getParameter("password");
if(username!=null&&password!=null&&password.equals(users.get(username))){
request.setAttribute("username", username);
RequestDispatcher view=context.getRequestDispatcher("/account.do");
view.forward(request, response);
return;
}
else
{
RequestDispatcher view=context.getRequestDispatcher("/Error.html");
view.forward(request, response);
return;
}
}
}
accouservle
package com.demo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.HashMap;
public class acountservlet extends HttpServlet {
ServletContext context;
HashMap<String,String[]> data=new HashMap<String, String[]>();
public void init()
{
context=getServletContext();
data.put("ann", new String[]{
"20090101:1300.00",
"20090201:1200.00",
"20090401:1400.00"
});
data.put("John", new String[]{
"20090101:1300.00",
"20090201:1200.00",
"20090401:1400.00"
});
data.put("mark", new String[]{
"20090101:1300.00",
"20090201:1200.00",
"20090401:1400.00"
});
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
String username=(String)request.getAttribute("username");
if(username!=null){
String[] records=(String[]) data.get(username);
response.setContentType("html;charset=gb2312");
PrintWriter out=response.getWriter();
out.println("<html> <body> ");
out.println("hello "+username+",your records:<p>");
for(int i=0;i<records.length;i++)
{
out.println(records[i]+"<br>");
}
out.println("</html></body>");
}
else
{
RequestDispatcher view=context.getRequestDispatcher("/login.html");
view.forward(request, response);
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
doPost(request,response);
}
}
工程圖文件及web.xml配置圖
演示