Struts2+Spring 整合成功测试案例(一)

 

  

     Struts2+Spring 整合成功测试案例。

   

     一、建立动态webProject: ssweb

 

     二、准备jar包,存于WebContent/WEB-INF/lib下。

         1.commons-dbcp.jar

          2.commons-io-2.0.1.jar

          3.commons-logging.jar

          4.commons-pool.jar

          5.spring.jar

          6.spring-aop.jar

          7.spring-beans.jar        

          8.spring-Context.jar

          9.spring-Context-support.jar

         10.spring-core.jar

         11.spring-jdbc.jar

         12.spring-tx.jar

         13.commons-fileupload-1.2.2.jar

          14.struts2-core-2.3.4.jar

          15.xwork-core-2.3.4.jar

           16. struts2-spring-plugin-2.2.1.jar

  三、相应的文档配

       

      1.  web.xml

       <display-name>ssweb</display-name>
   <!-- 使用ContextLoaderListener初始化Spring容器 -->
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>
  <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext-*.xml</param-value>
  </context-param>
 <!-- 定义Struts 2的FilterDispathcer的Filter -->
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <!-- FilterDispatcher用来初始化Struts 2并且处理所有的WEB请求。 -->
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

     2.   如上面蓝色部分:配置applicationContext-×.xml 。即Spring 配置.

          创建路径:WebContent/WEB-INF/applicationContext-core.xml

 

            

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
   <property name="driverClassName">
     <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
   </property>
   <property name="url">
     <value>jdbc:sqlserver://localhost:1433;DatabaseName=master</value>
   </property>
   <property name="username">
     <value>Tony</value>
   </property>
   <property name="password">                   
     <value>123456</value>
   </property>
 </bean>
 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
   <property name="dataSource">
     <ref bean="dataSource"/>
   </property>
 </bean>

<bean id="personService" class="com.ssweb.service.impl.PersonServiceImpl">
  <property name="jdbcTemplate">
    <ref bean="jdbcTemplate"/>
  </property>
</bean>


<bean id="personAction" class="com.ssweb.Action.PersonAction">

  <property name="personService">
      <ref bean="personService" />
  </property>
</bean>


</beans>

 

3. 配置src/struts.xml.  注意绿色部分

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
     <constant name="struts.i18n.encoding" value="UTF-8"></constant>
    <constant name="struts.objectFactory" value="spring"></constant>
   
        <package name="person" extends="struts-default" namespace="/">
    
                <action name="add" class="personAction">
             <result name="success">/success.jsp</result>
            
          </action>
       
   </package>

</struts>  

 

      四、编写Java 类。

           

       1.   Person.java 

package com.ssweb.unit;

public class Person {
 
 private int pid;
 private String pname;
 private int page;
 private String paddr;

 public String getPname() {
  return pname;
 }
 public void setPname(String pname) {
  this.pname = pname;
 }

 public String getPaddr() {
  return paddr;
 }
 public void setPaddr(String paddr) {
  this.paddr = paddr;
 }
 public Person(){}
 
 public Person(int pid,String pname,int page,String paddr){
  this.setPid(pid);
  this.pname=pname;
  this.setPage(page);
  this.paddr=paddr;
 }
 public int getPid() {
  return pid;
 }
 public void setPid(int pid) {
  this.pid = pid;
 }
 public int getPage() {
  return page;
 }
 public void setPage(int page) {
  this.page = page;
 }

}

      2.接口PersonService.java

package com.ssweb.service;

import com.ssweb.unit.Person;

public interface PersonService {
 

 public void InsertPer(Person person);

 
 
}

 

      3.接口实现

     

package com.ssweb.service.impl;

import org.springframework.jdbc.core.JdbcTemplate;

import com.ssweb.service.PersonService;
import com.ssweb.unit.Person;

public class PersonServiceImpl implements PersonService {

 
 JdbcTemplate jdbcTemplate; 

 
 public JdbcTemplate getJdbcTemplate() {
  return jdbcTemplate;
 }
 public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
  this.jdbcTemplate = jdbcTemplate;
 }
 @Override
 public void InsertPer(Person person) {
  // TODO Auto-generated method stub
  String sql="Insert into T_Person (id,pname,page,paddr)values (?,?,?,?)";
  jdbcTemplate.update(sql, new Object[]{person.getPid(),person.getPname(),person.getPage(),person.getPaddr()});
    
 }

}

 

      4.编写Action类:PersonAction

 

     

package com.ssweb.Action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.ssweb.service.PersonService;
import com.ssweb.service.impl.PersonServiceImpl;
import com.ssweb.unit.Person;

@SuppressWarnings("serial")
public class PersonAction extends ActionSupport {
 

//依赖注入Spring接口
 private PersonService personService;
 

//New Person(), 导入Get、Set方法
 Person per=new Person();
 
   
 public Person getPer() {
  return per;
 }
 public void setPer(Person per) {
  this.per = per;
 }


 public PersonService getPersonService() {
  return personService;
 }
 public void setPersonService(PersonService personService) {
  this.personService = personService;
 }
 
 
 
 public String execute() throws Exception {
   
  System.out.println("#########################");
    System.out.println(per.getPid());
    System.out.println(per.getPname());
    personService.InsertPer(per);
  
    return SUCCESS;
   

   }
 
 

 

}

 

 

      五、测试界面

        1.personadd.jsp

  

    

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加界面</title>
</head>
<body>
  
   <s:form action ="add.action" method="post">
    
      <s:textfield name="per.pid" />
      <s:textfield name="per.pname" />
      <s:textfield name="per.page" />
      <s:textfield name="per.paddr" />
      <s:submit />
     
     
       <!-- 或此方式
       <input type="text" name="per.pid"/><br/>
       <input type="text" name="per.pname"/><br/>
       <input type="text" name="per.page"/><br/>
       <input type="text" name="per.paddr"/><br/>
       <input type="submit" name="submit" value="submit"/>
        -->
   </s:form>
  

</body>
</html>

 

 

 

        2.success.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Success</title>
</head>
<body>

    OK
   

</body>
</html>

 

六、DB中建立T_Person表。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值