Struts2配置与初步使用

一: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接口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值