Andy_Xin的专栏

我所写的都是经的起考验的-----为发烧而生

struts框架设计



/***************************************************搭建一个最基本的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>



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xy18930914/article/details/49931733
文章标签: struts 框架
个人分类: struts框架设计
上一篇有关SVN安装与tomcat启动
下一篇javascript中Map的应用
想对作者说点什么? 我来说一句

学生选课系统Struts

2008年10月19日 3.55MB 下载

Struts教程,Struts,Struts初级教程

2009年02月05日 523KB 下载

Struts Struts

2011年03月02日 6.91MB 下载

struts

2007年08月19日 669KB 下载

struts分页struts分页

2009年10月19日 4KB 下载

struts实例struts实例

2010年06月06日 6.48MB 下载

Struts开发技巧Struts开发技巧

2009年03月20日 18KB 下载

strutsstrutsstruts

2010年08月04日 11KB 下载

Struts入门 详解Struts

2011年07月06日 441KB 下载

没有更多推荐了,返回首页

关闭
关闭