struts框架设计

原创 2015年11月19日 18:25:17


/***************************************************搭建一个最基本的struts框架应用*****************************/


配置Struts2框架的开发环境配置步骤如下:

 
1、导入struts2所需要的jar包

2、配置web.xml文件

3、编写action类  

4、配置struts.xml文件。



(1)添加jar包:

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

freemarker-2.3.16.jar

struts-el-1.3.10.jar

ognl-3.0.1.jar

struts2-core-2.2.3.jar

xwork-2.0.4.jar

(2)配置web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SpringWebTest</display-name>

<!--以上是web.xml文件的头信息  不可改变-->

<!-- 过滤器,统一编码格式 -->
    <filter>
        <filter-name>EncodingFilter</filter-name>
        <filter-class>com.msp.util.FilterDemo</filter-class>
        <init-param>
            <param-name>encode</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>EncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
<!-- 过滤器结束 -->

<!-- 也可以应用如下配置  不过要用到Spring的jar包    开始-->

<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 也可以应用如下配置  不过要用到Spring的jar包    结束-->


<!-- 配置 struts2.0 过滤转发器 -->
<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>/*</url-pattern>
  </filter-mapping>

<!-- 过滤转发器结束 -->

<!--定时器配置 开始-->
    <listener>
        <listener-class>com.msp.util.MyTimerListener</listener-class>
    </listener>
<!--定时器配置结束-->

<!--session过期的问题配置   开始-->
    <session-config>
       <session-timeout>3000</session-timeout>
    </session-config>
<!--session过期的问题配置   结束-->



解决工程编码的问题,统一编码格式UTF-8

/**
  *  编码格式过滤器
  *  com.msp.util.FilterDemo的编写
  *
  */

public class FilterDemo implements Filter{

    private FilterConfig filterConfig;
    private String encoding;

    public void destroy() {
      filterConfig=null;
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
           if(encoding!=null){
              request.setCharacterEncoding(encoding);
              chain.doFilter(request, response);
           }
        
    }

    public void init(FilterConfig config) throws ServletException {
        filterConfig=config;
        encoding=filterConfig.getInitParameter("encode");
        
    }
    
}



/**
 *
 * 定时器的配置  一般都要实现ServletContextListener接口
 * com.msp.util.MyTimerListener
 *
  /

public class MyTimerListener implements ServletContextListener {
    private BugXmlTimer  mytimer = new BugXmlTimer  ();
    public void contextInitialized(ServletContextEvent event) {
        mytimer.timerStart();
    }

    public void contextDestroyed(ServletContextEvent event) {
        mytimer.timerStop();
    }
}






(3)编写action类

    新建一个pojo类,继承 ActionSupport  复写其中的execute方法

     public class TestAction extends ActionSupport{

    
    public String loginAction() throws Exception {
        //TODO登录操作
        return SUCCESS;
    }
    
    
    public String loginOut() throws Exception {
        //TODO退出操作
        return SUCCESS;
    }
    }



4)配置struts.xml文件:注意头文件中的数字2.0,它属于版本号

    新建  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" />//国际化支持

  <package name="struts2" namespace="/" extends="struts-default">

    <!--拦截器配置开始-->
   <interceptors>
    <interceptor name="loginedCheck" class="com.msp.interceptor.LoginedCheckInterceptor"/>
        <interceptor-stack name="mystack">
            <interceptor-ref name="loginedCheck" />
            <interceptor-ref name="defaultStack" />
        </interceptor-stack>
   </interceptors>
   <!--拦截器配置结束-->

   <!--Action节点配置开始-->
   <action name="user_*" class="com.msp.struts.UserAction" method="{1}">
    <result name="success">jsp/user/User_list.jsp</result>
    <result name="add">jsp/user/User_add.jsp</result>
    <result name="update">jsp/user/User_update.jsp</result>
    <result name="error">jsp/login.jsp</result>
    <result name="list" type="redirect">user_getAllUserlist</result>
    <interceptor-ref name="mystack" />//拦截器栈的引用
   </action>   
 <!--Action节点配置结束-->

  </package>

</struts>



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

相关文章推荐

java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计

java中从Spring、Hibernate和Struts框架的action、service和dao三层结构异常处理体系设计   Spring的事务实现采用基于AOP的拦截器来实...
  • mwyking
  • mwyking
  • 2016年05月24日 17:20
  • 361

WEB应用框架:MVC设计模式和Struts框架

MVC设计模式   基于J2EE的WEB应用系统,多数都利用MVC模式来实现其体系结构。MVC(Model-View-Controller)是八十年代为编程语言Smalltalk-80发明的一种...
  • B_H_L
  • B_H_L
  • 2012年05月29日 11:28
  • 695

struts框架-helloworld

  • 2016年11月29日 19:03
  • 26.76MB
  • 下载

struts框架常用jar包

  • 2017年10月12日 09:53
  • 2.77MB
  • 下载

struts框架的工作流程及其环境搭建(版本2.2.3)

一、新建一个java web project,导包

struts框架

  • 2016年04月06日 20:54
  • 4.6MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts框架设计
举报原因:
原因补充:

(最多只允许输入30个字)