struts2

 

                                                                                                                                                      
  Struts2浅谈

Struts2基于struts 和WebWork的技术基础上的服务于Web的一种MVC框架 Struts 2以WebWork为核心 采用拦截器的机制来处理用户的请求 业务逻辑控制器能够与Servlet API完全脱离开 

 

 

Struts2框架的大概处理流程如下: 

 

 1、加载类(FilterDispatcher) 

 2、读取配置(struts配置文件中的Action

 3、派发请求(客户端发送请求)  

   4、调用ActionFilterDispatcherstruts配置文件中读取与之相对应的Action )  

   5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)  

   6、处理业务(回调Actionexecute()方法) 

   7、返回响应(通过execute方法将信息返回到FilterDispatcher) 

   8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESSERROR,将跳转到哪个jsp页面) 

   9、响应用户(jsp--->客户浏览器端显示) 

 

Struts2优点:

     相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大
    Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的pojo 

       Struts1的Action依赖于Servlet API,比如Actionexecute方法的参数就包括requestresponse对象。Struts2中的Action不再依赖于Servlet API

ActionSupport基类

ActionSupport基类实现了Action等其它一些接口。其中定义了五个标准的返回值 ,当然我们可以自己随意定义返回的名字  

String SUCCESS = "success"; //默认是 SUCCESS 类型  

String NONE = "none";  

String ERROR = "error";  

String INPUT = "input";  

String LOGIN = "login"; 

 

Mvc模型:

 

 Struts2是基于mvc开发模式的,那什么是mvc模式:

 模型(M): Model层实现系统中的业务逻辑,通常可以用JavaBean来实现 

 视图(V):View层用于与用户的交互,通常用JSP来实现 

 控制器(C):Controller层是ModelView之间沟通的桥梁,它分派用户的请求并选择恰当的视图以用于显示 

 

Struts配置:

 

 

1.新建web工程

2.下载struts-2.3.3-all.zip,解压,将里面的相关包copyWEB-INFlib目录下

3.src目录下新建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/dtd/struts-2.0.dtd">

<struts>

</struts>

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

 

5.运行项目。如若不报错这配置成功可以开始做项目。

 

 

注意:

 

1.刚开始测试时会出现很多问题 那是因为该导入的包没有导入 

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang3-3.1.jar

commons-logging-1.1.1.jar

freemarker-2.3.19.jar

javassist-3.11.0.GA.jar

ognl-3.0.5.jar

struts2-core-2.3.3.jar

xwork-core-2.3.3.jar

试着将这些包都导入 如果还不行再导入其他包

 

2.报错:The markup in the document following the root element must be well-formed.

 

检查一下web.xml文件中所有的标签是否都放到<web-app></web-app>里面

 

 

3.struts.xml要求必须在WebRootWEB-INFclasses目录下。我们可以在src下建立   struts.xml文件,在src根目录下建立的文件eclipse都会自动编译到classes目录下,  

      系统运行时解析的是classes目录下的文件而不是src下的文件

 

 

 

4.报错   Could not find action or result

There is no Action mapped for namespace [/] and action name [login] associated  with context path [/Struts2]. - [unknown location]

 

如果struts.xml文件位置没错的话 那就是因为文件的内容有误 仔细检查每个单词 每个字母 肯定能找出错误

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值