?? logonprocessor.java
字號:
package org.sunxin.guestbook.controller;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.sunxin.guestbook.*;
import org.sunxin.guestbook.beans.*;
public class LogonProcessor implements Processor
{
public void perform(HttpServletRequest req,
HttpServletResponse resp,
ServletContext sc)
throws IOException,ServletException,UserException
{
String action=req.getParameter("action");
//判斷用戶是訪問登錄頁面還是提交登錄信息。
if(null==action || !"logon".equals(action))
{
StringBuffer sb=new StringBuffer(64);
sb.append("<?xml version=\"1.0\" encoding=\"GB2312\"?>");
sb.append("<page name=\"logon\">");
sb.append("<logon/></page>");
req.setAttribute("page", sb.toString());
}
else
{
String username=req.getParameter("username");
String password=req.getParameter("password");
//實際應用中,應該在客戶端利用JavaScript腳本也做類似的判斷。
if(null==username || null==password ||
"".equals(username) || "".equals(password))
{
throw new UserException(
"用戶名或密碼不能為空,請<a href=\"logon.jsp\">返回</a>重新輸入!");
}
User user=new User();
user.setUsername(username);
user.setPassword(password);
GuestbookDB gstDB = (GuestbookDB)sc.getAttribute("gstdb");
//調用GuestbookDB對象的validateUser()方法對用戶進行驗證。
String style=gstDB.validateUser(user);
if("".equals(style))
{
throw new UserException(
"用戶名或密碼錯誤,請<a href=\"logon.jsp\">返回</a>重新輸入!");
}
else
{
HttpSession session=req.getSession();
session.setAttribute("user",username);
session.setAttribute("style",style);
String strMsg=null;
strMsg="登錄成功,<a href=\"say.jsp\">我要留言</a>或<a href=\"index.jsp\">查看留言</a>";
req.setAttribute("success",strMsg);
new SuccessProcessor().perform(req, resp,sc);
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -