1. 程式人生 > >MVC模式在Java Web應用程序中的實例分析

MVC模式在Java Web應用程序中的實例分析

rip run writer fault esp 身份驗證 int 網站 table

結合六個基本質量屬性

可用性:

異常

可修改性:

1.維持語義的一致性,高內聚低耦合

2.維持現有的接口,Login依賴LoginIService接口,LoginService依賴ILogDAO

性能:暫無

安全性:

對用戶進行身份驗證

易用性:暫無

分析具體功能模塊的MVC設計實現(例如登錄、用戶權限等功能模塊)

在實際項目中的具體應用或分析MVC設計模式在具體網站中的應用(需要列舉實例)

技術分享

login

public String execute() throws Exception

{

String[] request=loginservice.userpan(user, pwd, randcode);

req.getSession().setAttribute("username",user);

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("text/html;charset=UTF-8");

response.setCharacterEncoding("UTF-8");//防止彈出的信息出現亂碼

PrintWriter out = response.getWriter();

if(request[0].equals("Error"))

{

out.print("<script>alert(‘"+request[1]+"‘);</script>");

out.flush();

out.close();

return "Error";

}

return "Success";

}

LoginISerivece

public String[] userpan(String user,String pwd,String randcode);

LoginService

//輸入用戶名,密碼,驗證碼,返回(id,msg)是否錯誤和錯誤信息

public String[] userpan(String user,String pwd,String randcode)

{

String[] msg = new String[2];

String bm="";

HttpServletRequest req=ServletActionContext.getRequest();

String srand=(String)req.getSession().getAttribute("rand");//session.setAttribute("rand", sRand);

msg[0]="Error";

msg[1]="未知錯誤";

try

{

if(!srand.equals(randcode))

{

msg[0]="Error";

msg[1]="驗證碼錯誤";

return msg;

}

}

catch (Exception e) {

msg[0]="Error";

msg[1]="驗證碼錯誤";

return msg;

}

try{

Log result=logdao.findById(user);

if(result==null)

{

msg[0]="Error";

msg[1]="賬號不存在";

return msg;

}

if(!result.getPassword().equals(pwd))

{

msg[0]="Error";

msg[1]="密碼錯誤";

return msg;

}

bm=result.getBm();

}

catch (Exception e) {

msg[0]="Error";

msg[1]="賬號密碼錯誤";

return msg;

}

req.getSession().setAttribute("bm", bm);

msg[0]="Success";

return msg;

}

ILoginDAO

public Log findById(java.lang.String id);

LoginDAO

public Log findById(java.lang.String id)

{

log.debug("getting Log instance with id: " + id);

try

{

Log instance = (Log) getHibernateTemplate().get("interdao.dao.Log",

id);

return instance;

} catch (RuntimeException re)

{

log.error("get failed", re);

throw re;

}

}

Log

public class Log extends AbstractLog implements java.io.Serializable

{

// Constructors

/** default constructor */

public Log()

{

}

/** minimal constructor */

public Log(String username, String password, String role)

{

super(username, password, role);

}

/** full constructor */

public Log(String username, String password, String role, String bm)

{

super(username, password, role, bm);

}

}

MVC模式在Java Web應用程序中的實例分析