Struts2入门项目开发小步骤

Step1:

  Struts2的获取和添加到项目中:

  在官方网站:http://struts.apache.org 获取Struts的其中一个版本。

  在开发项目之前,需要添加struts2的类库支持,也就是将下载解压后的struts的lib目录下的jar包添加到项目的claspath下。通常情况下,这些jar包文件不用全部添加,根据项目实际的开发需要进行添加即可。一般项目开发首先要添加的核心jar包(版本号可以不一样)有:

commons-fileupload-1.3.2.jar、commons-io-2.2.jar、commons-logging-1.1.3.jar、freemarker-2.3.22.jar、ognl-3.0.19.jar、struts2-core-2.3.33.jar、xwork-core-2.3.33.jar。

Step2:

  创建项目,将Struts2的支持类库添加到WEB-INF目录的lib文件夹中。

  配置web.xml文件:声明Struts2提供的过滤器,类名:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。关键代码如下:

 1 <!-- Struts2 过滤器 -->
 2 <filter>
 3     <filter-name>struts2</filter-name>
 4     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 5 </filter>
 6
 7 <!-- Struts2过滤映射 -->
 8 <filter-mapping>
 9     <filter-name>struts2</filter-name>
10     <url-pattern>/*</url-pattern>
11 </filter-mapping>

注意:Struts2.0中使用的过滤器为:org.apache.struts2.dispatcher.FilterDispatcher,在更高版本中已经不推荐使用这个了,而是使用以上的

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter 类。

Step3:

  在web项目的源码文件夹下(一般为src文件夹下),创建名称为struts.xml的配置文件,关键代码如下:

1 <struts>
2     <!-- 声明包 -->
3     <package name="myPackage" extends="struts-default">
4         <!-- 定义Action -->
5         <action name="yourActionName">
6             <result name="yourReturn">/your.jsp</result>
7         </action>
8     </package>
9 </struts>

Step4:

  Action对象请求参数的注入原理:

在项目的src目录下新建com.mypage.action包,然后在包下创建UerAction类,提供一个username属性,其代码如下:

 1 public class UserAction extends ActionSupport{
 2      //用户名属性
 3      private String username;
 4      //为username提供setter和getter方法,省略.....
 5      ........
 6
 7      public String execute(){
 8         .........
 9         return SUCCESS;
10      }
11 }

  然后根据Action对应配置struts.xml文件,配置代码如下:

1  <struts>
2 2     <!-- 声明包 -->
3 3     <package name="myPackage" extends="struts-default">
4 4         <!-- 定义Action -->
5 5         <action name="userAction" class="com.mypage.action.UserAction">
6 6             <result name="SUCCESS">/success.jsp</result>
7 7         </action>
8 8     </package>
9 9 </struts>

  创建index.jsp页面,代码如下:

<html>
    <head>
        <body>
             <h1>struts2 test <h1>
             <a href="userAction">用户名</a>
             <br>
        </body>
    </head>
</html>        

注意:这段代码也可以使用Struts的动态Action,并不一定要重写execute()方法进行处理,使用动态Action的处理方式可能会更加方便。所以在实际的开发中,可以将同模块的一些请求封装在一个Action对象中,使用struts2 提供的动态Action对不同的请求进行处理。

时间: 2024-10-28 14:46:22

Struts2入门项目开发小步骤的相关文章

eclipse中SSH框架搭建和项目开发基本步骤

1.下载SSH框架代码和eclipse插件,地址:http://yunpan.cn/QTCrdHF4xkEVp (提取码:0e8d) 注意,一定要分清楚,SSH框架是要导入到自己的工程项目中的包,这些包是要在项目中调用的预先开发好的java文件:而eclipse插件是在eclipse环境下开发SSH相关项目是方便用户建立项目管理项目的工具,跟项目本身的文件和功能无关.一定要分清楚这两个概念. 2,下载完成之后,解压,会发现有5个文件夹,第一步要用到的是spring plugins for ecl

EJB3.0高速入门项目开发步骤

EJB3.0开发步骤 1.   开发环境 IDE开发工具:Eclipse Java EE IDE for Web Developers EJB容器:jboss-4.2.3.GA 后台数据库:MysQL5.1 2.   开发步骤 2.1   在Eclipse中配置jboss-4.2.3.GA 1.  点击小三角,选中New server 2.  选中JBOSS AS4.2 3.  点击ADD.进行JBOSS配置 4.  在Home Directory中.点击Browser选择JBOSS4.2的安装

iOS项目开发小技巧(一)--如何自定义UIViewController的titile

项目开发中,我们会碰到自己定义title文字样式的需求,系统的apiself.title很难对其进行自定义,以前的api有个很复杂的字典属性可以对其进行修改,这里不对其进行解释,我们来看一个简单的修改其样式的方法 我们看自己的ViewController.m文件 - (void)viewDidLoad { [super viewDidLoad]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 40)];

react项目开发---小知识总结

1.搭建开发环境 2.按照开发习惯建好源码的目录文件结构 3.开始开发 项目的js打包入口文件  index.js 项目的根组件 安装并导入项目开发依赖的包 react react-dom react-router-dom 结合react-ant-desing  ui组件开发 react中如何获取数据---如果跨域了可以装个包---fetchjsonp的包 传递过去的属性都在props里面 路由切换的2种方式: 1.标签式  2.编程式(js实现): 路由中Switch的使用场景 实现返回按钮

spring_mvc入门项目的小总结

1.先搭建一个maven的web项目 ,然后把文件夹完善一下,创建一个java的文件夹和resource的问件夹,并指定他们各自的功能. 导入pom.xml文件的依赖 <properties> <!--这里用version进行版本的统一的控制--> <spring.version>5.1.5.RELEASE</spring.version> </properties> <dependencies> <dependency>

iOS项目开发小技巧 (三) --UITableView实现Cell左划删除等自定义功能

今天来介绍下iOS开发中UITableView的Cell左划实现微信中置顶,删除等功能.该功能在iOS8.0以前是需要很复杂的实现,不过github上应该有现成demo,不过今天介绍的是在iOS8.0以后苹果新推出的api,来实现Cell左划自定义控件. 1. 首先创建UITableView视图,实现其俩个代理,UITableViewDelegate和UITableViewDataSource,该处代码就不说了,主要是俩个回调方法 -(UITableViewCell *)tableView:(U

项目开发小计 &lt;一&gt; android开发小坑, 版本兼容

1, nosuchmethod 低版本会调用不到里面得方法首先是:   this.setBackgroundDrawable(); 这个是过期方法, 但是还是建议使用它, 因为在android 2.3 后 如果你尝试使用新得api this.setBackground();这个的话, 那么好吧,等着奔溃吧 其次是:  ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(null, 0);        array

【小程序源码案例】微信小程序项目开发案例分享

作者:web小二本文标签: 微信小程序 小程序源码案例 小程序项目小程序的开发,并不是适合所有公司,我今天跟大家分享小程序方面的教程,主要是供大家学习使用.学习这种东西,有时候则是单纯的喜欢,没有任何目的,很单纯的为了好玩,记得很早之前学flash,没有想法,就是觉得好玩,纯娱乐爱好而已.到后来玩视频剪辑也是出于同样的原因,不图钱财名利,只是图自己个人爱好娱乐. 但是,学习,有时候则是需要有明确目的,特别是关系到自己吃饭问题的时候,你就需要非常有目的去学习,并且还需要制定好学习的计划与目标,希望

物联网开发入门+项目实战视频博学全套

物联网开发入门+项目实战视频博学全套物联网网络编程项目实战视频课程以目前在物联网中比较热门的技术平台为依据,实操为主,理论讲解为辅;引导学员...适用人群对物联网通讯感兴趣的技术人员或在校工科类学生:具备一点C语言基础.课程简介物联网网络编程项目实战视频课程以目前在物联网中比较热门的技术平台为依据,实操为主,理论讲解为辅:引导学员去进行一些简单项目的开发和练习,尽可能通俗的讲解物联网所涉及到的协议.课程大致目录:第1阶段 学前准备01 C语言及程序设计快速入门02 嵌入式C语言高级---语法概述