Struts2入门实例

Struts2入门实例

一、struts2概述



          本图描述了 Struts2 中的主要部件,以及请求处理过程。Struts2 也是基于请求-响应模式!

Struts2 是一个 MVC 框架。主要用于呈现层的开发。 

Struts2 提供了一个 StrutsPrepareAndExecuteFilter 来处理所有的请求,这个 Filter 将根据

Struts2 配置文件的指示,符合要求的客户端请求,将会被转交给 Action 来处理;Action 处理完之后,

Struts2 将负责转向视图进行呈现。

二、struts2开发步骤

1.在web.xml中配置过滤器

2.编写Action

3.编写Struts2配置文件

4.编写JSP

*首先创建一个web projects,引入如下依赖包,如图:

 

 

 各依赖包作用:

   Commons-fileupload 和 commons-io 是文件上传必须的依赖包。 

   Freemarker 是 struts2 中的 HTML 相关标签库(taglib)的依赖包 

   Javassist 和 ognl 是 OGNL 相关依赖包(OGNL 是 Struts2 中的表达式语言,非常核心的依赖       包) 

    Struts2-core 就是 struts2 本身的类库 

    Xwork-core 是 struts2 非常核心的依赖包,正是它确定了请求处理的基本过程

 

*在web.xml中增加过滤器

 

<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> 

 

*在类的根路径下增加struts2.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> 
<package name="system" namespace="/test" extends="struts-default"> 
<action  
 name="user" 
 class="cn.com.test.struts2.action.UserAction " method="add" >  
 <result name="success">pages/first.jsp</result> 
 </action> 
</package>
 </struts> 

 

 

其中package中name属性可以是任意的,namespace用来定义访问Action的url目录,必须以"/"开头.extends 表示本配置是继承另外一个package >

Action配置中name是定义如何访问action,class是对应的action类,method:是对应的action中的方法,result 定义的是这个 action 调用的返回值代表的是转向的页面

 

*编写相应的Action

 

public class UserAction extends ActionSupport implements ModelDriven{ 
 private User user; 
 @Override 
 public Object getModel() { 
 if(user == null){ 
   user = new User(); 
} 
return user; 
}   
public String addInput(){ 
return "add_input"; 
 
} 
public String add(){ 
new UserManager().addUser(user); 
 return "success";  
} 
 public User getUser() { 
  return user; 
 
} 
  
public void setUser(User user) { 
   this.user = user; 

 

 

*编写一个jsp为first.jsp,将其部署到服务器上

  通过http://localhost:[端口]/[Context Path]/test/user.action 即可访问Action

 

      关于访问action路径可设置扩展名 ,缺省以.action 结尾,请参考:default.properties 文件,可以通过配置改变这一点: <constant name="struts.action.extension" value="action,do,webwork" /> 上述配置,将使得可以通过.action 或.do 或.webwork 访问 Action 对象 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值