1. 工程结构
![]() |
antlr-2.7.6.jar
commons-collections-3.1.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
freemarker-2.3.13.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate3.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
log4j-1.2.15.jar
mysql-connector-java-3.1.13-bin.jar
ognl-2.6.11.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
你可以到各自的官网下载!!
2. 流程图
![]() |
3. Struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="ssh" extends="struts-default"> <action name="userAction" class="com.edu.ssh.action.UserAction"> <result name="success">/registerSucess.jsp</result> <result name="fail">/registerFail.jsp</result> </action> </package> </struts>
|
4. Web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteF </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern> private UserManager userManager = new UserManagerImpl();
@Override public String execute() throws Exception { User user = new User(); user.setUsername(username); user.setPassword(password); if (userManager.exists(user)) return "fail";
userManager.insertOneUser(user); return "success"; }
public UserManager getUserManager() { return userManager; }
public void setUserManager(UserManager userManager) { this.userManager = userManager; }
public int getId() { return id; }
public String getPassword2() { return password2; }
public void setPassword2(String password2) { this.password2 = password2; }
public void setId(int id) { this.id = id; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; } } |
6. Register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
<form action="userAction.action" mothod="post"> 用户名:<input type="text" name="username"/><br> 密码:<input type="password" name="password"/><br> 确认密码:<input type="password" name="password2"/><br> <input type="submit" value="提交" /> </form>
</html>
|
7. 结果
![]() |
![]() |
![]() |
原先在UserManagerImpl实现的页面的逻辑跳转转到了struts2的Action里,只要修改struts.xml配置文件就可以实现修改跳转的页面,不必修改源码。当然,有了struts2的Action之后registerDeal.jsp文件就不需要了,因为之前在jsp实现的功能都移到了struts2的Action里了。在这步中我们把struts2整合进来,主要是把原先在jsp层处理的功能移到了Action里,实现了页面的灵活跳转。再接下来的一步就是把spring整合进来。。至于我们为什么要用struts个人的理解有以下几点:
1.获取表单内容,并组织生成参数对象
2.根据请求的参数转发请求给适当的控制器
3.在控制器中调用业务接口
4.将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现
5.做一些简单的校验或是国际化工作
在例子里仅仅是作为一个简简单单的跳转控制器,没有其他复杂的功能。大家可以看看这里有比较详细的struts信息:http://blog.csdn.net/springsen/article/details/7294433
更多教材看这里 :http://struts2.group.iteye.com/group/topic/9271
版权声明:本文为博主原创文章,未经博主允许不得转载。