struts1和struts2区别总结(1)

Struts1与Struts2对比
本文对比了Struts1与Struts2在登录验证方面的实现方式,详细介绍了两种框架下错误信息提示的处理机制,并展示了Struts2简化开发的具体表现。
[/code]自己总结一些struts1和struts2区别,本人总结只供自己参考,因为还是初学struts框架,如有错误,还希望大家指出 


1、比如用户在登录账号和密码都为null时会在 会在action中做个校验:

a 、就拿struts1来说 :
它的action的方法中是:

[code="java"]/**
* 执行的核心方法,相当于与servlet中的 doget和dopost方法
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub

if(userForm.getUsername().equals("123")&&userForm.getPassword().equals("123"))
{
//登录成功
request.getSession().setAttribute("username", userForm.getUsername());
//进行跳转,在action中是通过返回值实现跳转
return mapping.findForward("suc");
}else{
//登录失败,返回登录页面,同时显示错误信息
//建立保存错误信息的集合
ActionMessages errors=new ActionMessages();
//添加到错误信息中
errors.add("Loginerror", new ActionMessage("logon.errors"));
this.addErrors(request, errors);
return mapping.getInputForward();
}
}

页面上提示错误的的信息代码是:
 <body>
<html:form action="login.do" method="post">
<table border="0">
<tr>
<td>账号:</td>
<td><html:text property="username" /></td>
<td><font color="red"><html:errors property="username" /></font> </td>
</tr>
<tr>
<td>密码:</td>
<td><html:password property="password" /></td>
<td> <font color="red"><html:errors property="password" /> </font> </td>
</tr>
<tr>
<td colspan="2" align="center"><html:submit value="提交" /></td>
</tr>
<font color="red"> <html:errors property="Loginerror" /> </font>
</table>
</html:form>


以上是错误信息的提示操作 在struts1中的写法:

而在struts2 中 ,则你会发现简答的很多
第一 : 在action中也会有微妙的变化为:
@Override
/**
* 该类继承了actionSupport在重写了validate()这个方法
*/
public void validate() {

if(this.getUsername()==null||"".equals(this.getUsername()))
{
this.addFieldError("username", "username required");
}
if(this.getPassword()==null||"".equals(this.getPassword()))
{
this.addFieldError("password", "password required");
}
}


而struts的好处就体现了,这个时候你就不需要去更改你的页面信息了
而页面jsp的内容为:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>

<body>
<s:form action="login">
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:submit label="submit" ></s:submit>
</s:form>
</body>
</html>


以上是我总结的struts1和struts2的一点区别 ,其他的区别还在继续挖掘中。。。。
如有不对,还忘大家及时指出。。互相学习下
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值