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>



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

《JavaScript框架设计(第2版)》之语言模块

本文摘自:人民邮电出版社异步图书《JavaScript框架设计(第2版)》 试读本书:http://www.epubit.com.cn/book/details/4849敲重点: ...
  • epubit17
  • epubit17
  • 2017年08月24日 17:32
  • 2099

[笔记]软件框架设计的艺术

整理:fasiondog笔记思维导图下载地址:http://note.sdo.com/u/1517210336#/n/qrIHw~jy6hZFnM00401hmP思想未必是最新、最独特的,但一定是有用...
  • KongDong
  • KongDong
  • 2011年07月16日 22:55
  • 8109

《CLR via C#:框架设计》读书笔记 - 方法

《CLR via C#:框架设计》读书笔记 - 方法
  • a2324268086
  • a2324268086
  • 2016年04月21日 17:25
  • 268

框架设计

*1、保持原有的设计模式 *2、设计所有的模型的基类模型,底层最少做一个引用MJEXTENSION的操作 *3、将下载类创建到本地,通过类/或者对象方法获取 *4、将缓存彻底处理好 *5、将时间对比处...
  • smilebigdear
  • smilebigdear
  • 2015年08月07日 16:55
  • 320

开发常用shell脚本和命令

常用shell脚本和命令
  • lamp113
  • lamp113
  • 2017年12月07日 17:05
  • 61

基于cocos2d-x的游戏框架设计

 3月31日,第四届CocoaChina开发者大会暨Cocos2d-x技术研讨会在北京剧院举行, 人人网游戏开发工程师李成进行了主题为《基于cocos2d-x的游戏框架设计》的演讲。 以下为...
  • zhanghefu
  • zhanghefu
  • 2014年01月19日 18:08
  • 5189

.NET框架设计(1)

框架设计的基本概念 框架 框架的通常作用及层面 软件开发要满足用户的业务需求,然后满足编写代码时的非业务需求。非业务需求有很多种:安全、稳定、易维护、易扩展等等。 框架的主要作用是让我们...
  • u013553804
  • u013553804
  • 2017年12月25日 00:38
  • 179

Java爬虫框架(二)--模块设计

一、        模块 1.      Scheduler Scheduler负责启动爬虫,停止爬虫,监控爬虫的状态。   Scheduler在调度爬虫时,借助于Quartz,设置爬...
  • zdnlp
  • zdnlp
  • 2012年08月23日 17:28
  • 4744

web.py等框架如何生成静态网页

web.py等框架如何生成静态网页 为啥需要生成静态网页,静态网页方便搜素引擎的收录,还可以减少访问数据库的压力。减少带宽的占用。 web.py这么干,django估计也可以这么干,估计还有其它的...
  • xuxi_php
  • xuxi_php
  • 2012年12月29日 19:49
  • 1120

自动化测试框架设计指南

 Tarun Lalwani在《Guidelines for Automation Framework Design》一文中提出了自动化测试框架设计时应该考虑的20个方面:(1)选择合适的框架类型。(...
  • Testing_is_believing
  • Testing_is_believing
  • 2008年06月22日 17:43
  • 4816
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts框架设计
举报原因:
原因补充:

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