SSH 整合- 5 - service_serviceImp…

 

1. 工程结构

 

SSH <wbr>整合- <wbr>5 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2

     文件的命名不是很规范,望见谅!!工程所需要的jar包可以用MyEclipse自带的,也可以自行添加,为了防止重复添加。在这里我是手动添加的。主要的jar包有:

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. 流程图

 

SSH <wbr>整合- <wbr>5 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2

 

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.StrutsPrepareAndExecuteFilter</filter-class>

</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>

  <head>

  <title>注册首页</title>

  </head>

 

  <body>

<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>

  </body>

</html>

 

 

7. 结果

 

SSH <wbr>整合- <wbr>5 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2

 

 

 

SSH <wbr>整合- <wbr>5 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2

 

 

 

SSH <wbr>整合- <wbr>5 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2

 

原先在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

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/ubuntuvim/p/4796551.html