spring-struts登录功能流程代码

100 阅读1分钟

1. pom.xml配置文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.xdl</groupId>
  <artifactId>ssh_01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <!-- java源文件编码 -->
    <properties>
        <project.build.sourceEncoding>
              UTF-8
        </project.build.sourceEncoding>
    </properties>

  <!-- jar -->
  <!-- http://maven.aliyun.com/nexus/ -->
  <dependencies>

  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
  </dependency>

  <dependency>
      <groupId>Javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>3.0-alpha-1</version>
  </dependency>

  <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.3.31</version>
  </dependency>

  <dependency>
  <groupId>jstl</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>

  <!-- spring环境 -->
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jdbc</artifactId>
  <version>4.1.6.RELEASE</version>
</dependency>
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-aop</artifactId>
  <version>4.1.6.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-web</artifactId>
  <version>4.1.6.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>4.1.6.RELEASE</version>
</dependency>
  <!-- struts2-spring-plugin.jar -->
  <dependency>
  <groupId>org.apache.struts</groupId>
  <artifactId>struts2-spring-plugin</artifactId>
  <version>2.3.31</version>
</dependency>
<!-- c3p0 -->
<dependency>
  <groupId>c3p0</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.1.2</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.8</version>
</dependency>

  </dependencies>



    <!-- 指定编译版本和编码 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>

        <defaultGoal>compile</defaultGoal>
    </build>

</project>

2. spring配置文件和struts配置文件(struts的配置文件不写路径的话默认是图中这个位置,一般这个位置存放xml配置)

这里写图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>

      <!-- 将默认的.action扩展名改为.do -->
    <constant name="struts.action.extension" value="do"></constant>

    <!-- extends继承框架内部struts-default -->
    <package name="demo1" extends="struts-default" >
        <!-- name指定为请求名;class指定action类;method指定action方法名,不写默认为execute -->
        <action name="hello" class="ohMyGod" method="HaHaHa">
            <!-- name对应action方法返回结果;type指定result组件类型 -->
            <result name="success" type="dispatcher">
                /WEB-INF/hello.jsp
            </result>
        </action>

        <action name="list" class="songTieDan" method="HaHaHa">
            <result name="success" type="dispatcher">
                /WEB-INF/list.jsp
            </result>
        </action>

        <action name="login" class="cn.xdl.action.DunChunLiang">
            <result>
                /login.jsp
            </result>
        </action>

    </package>

    <package name="demo2" extends="struts-default"  namespace="/user">
        <action name="list" class="login" method="execute">
            <result name="success" type="dispatcher">
            /ok.jsp
            </result>
            <result name="error" type="dispatcher">
            /login.jsp
            </result>
        </action>
    </package>
</struts>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"  
    xmlns:jee="http://www.springframework.org/schema/jee" 
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd">

    <!-- 扫描Action -->
    <context:component-scan base-package="cn.xdl.action"/>
    <!-- 扫描Dao -->
    <context:component-scan base-package="Dao"/>

    <!-- JdbcTemplate对象 -->
    <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="c3p0"></property>
    </bean>

    <!-- c3p0 -->
    <bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="root"></property>
        <property name="password" value="root"></property>
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/studyonline?useUnicode=true&amp;characterEncoding=utf8"></property>
    </bean>

</beans>

这里写图片描述

3.Dao接口和实体类注解和详情代码

  • Dao接口实现类
@Repository("examDao")
public class ExamPaperDaoImpl implements ExamPaperDao {
@Resource
private JdbcTemplate Template;
    @Override
    public List getAll() {
        return Template.query("select * from exam_paper", new ExamPaperMapper());
    }

    @Override
    public ExamPaper getByPaperId(int questionId) {
        Object[] obj ={questionId};
        return  Template.queryForObject("select * from exam_paper where question_id=? ",obj  ,new ExamPaperMapper());
    }

}
  • controller实体类
/**
 * 1.接收请求处理,请求处理方法public String execute(){...}
 * 2.响应处理结果,利用请求处理方法的返回值String,含义是result名<result name="xxx"> 
 * 3.接收请求参数,利用属性接收,属性名与参数key保持一致(setter/getter)
 */
@Controller
@Scope("prototype")
public class OhMyGod{

    private String msg;//jsp采用${msg}获取值
    private String name;//接收name=xxx值


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String HaHaHa(){
        System.out.println("执行了HelloAction处理");
        if(name != null && !"".equals(name)){
            msg = "Hello "+name;
        }else{
            msg = "宋铁蛋你是不是傻";
        }

        return "success";
    }

}