Struts2配置与初步使用

来源:互联网 发布:linux apache ant安装 编辑:程序博客网 时间:2024/06/09 17:49

一:Struts历史

 Struts是一个JavaWeb框架,Struts2并不是Struts1的升级版本,而是一个基于WebWork的全新框架.Struts2是基于MVC开发模型的一个框架,基于表现层的框架.

二:Struts2的安装与配置

1:下载Struts2的jar包,并拷贝到自己的工程
2:在src下创建struts.xml配置文件
3:在web.xml中配置Struts2的核心控制器
使用idea可以快速创建Struts2
这里写图片描述
它会自动下载相应的jar包,并创建struts.xml配置文件和配置核心控制器

三:struts2的执行流程

首先在jsp页面创建一个链接

<a href="${pageContext.request.contextPath}/hello.action">点击这里查看error</a>

${pageContext.release().contextPath} 是自动补全路径
若使用Struts2hello的后缀名必须为action

然后在struts.xml对jsp页面的/hello.action进行配置

 <package name="p1" extends="struts-default" >        <!--action禁止加"/" 只能在上面的namespace加-->        <action name="hello" class="com.lanou.struts.helloword.HelloAction" method="bye">            <result name="error">error.jsp</result>        </action>    </package>

package的name为包名(不能重复) 都必须继承struts-default
action 的name为你在jsp页面的/hello.action,在这里只需写hello就行(两个名字必须相同!不同就自行体会)
action的class是你创建对应动作类的”绝对路径” method是动作类下的某一个方法
result 的name是你动作类中方法的返回值
success.jsp是你要去的jsp页面

result中还有一个type 它默认的是
dispatcher 也就是转发到另一个jsp页面
然后还有其他的,比如:
chain:转发到另一个动作类
redirect:重定向到另一个JSP
redirectAction:重定向到另一个动作类
plainText:显示源码

最后要在src下创建一个包,包中创建一个类,这个类就是动作类

动作类的创建方式有三种
第一种:POJO就是普通的JavaBean,没有任何继承和实现接口

public class HelloAction {    public String bye(){        System.out.println("bye____");        return "error";      }    }

第二种:实现Action接口
在Action接口中可以使用的常量:
success: 动作执行正常
none: 动作方法执行后不转向任何视图,就是return null
error: 错误
input: 验证,转换失败,失败后转向你想转入的JSP
login: 检测用户是否登录,没登录转向登录视图

public class DemoAction2 implements Action{    @Override    public String execute() throws Exception {        return SUCCESS;    }}

第三种:(推荐)继承ActionSupport
在ActionSupport实现了Action,还有验证,国际化文本等

public class DemoAction3 extends ActionSupport{    public String ddd(){        return ERROR;    }}

动作类中的动作方法编写格式为:

public String XXX(){}

四:Action访问ServletAPI

方法一:

 HttpServletRequest request = ServletActionContext.getRequest();

方法二: 实现ServletRequestAware接口

原创粉丝点击