总结搭建Struts框架步骤以及原理

1.手动下载相应的jar包,也可以使用maven管理jar包

这里写图片描述

       <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.5.1</version>
        </dependency>

2.在web.xml中添加struts.xml核心过滤器

过滤器写法有两个版本(匹配不同版本的struts),最新的是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
解压jar包可以看见这个过滤器类的路径。官方文档也有提及这个变化
http://struts.apache.org/core-developers/web-xml.html
我在使用idea配置核心过滤器的时候遇到了找不到类的问题,解决方法记录在了博客中
https://blog.csdn.net/julse/article/details/79547615

3.新建一个struts.xml文件

使其继承default-struts.xml.将此文件夹放置在src目录下,这样stuts.xml就会随编译后的源代码发布到tomcate服务器上。如果项目有报错,可以去发布项目的文件夹下面检查这个文件有没有被拷贝过去。
这里写图片描述

4.在struts.xml中配置action

这里写图片描述

5.发布项目并在浏览器中访问

http://localhost/user/user.action
注意:我配置的tomcate端口号就是浏览器默认端口号80,路径不包括项目名称。
分析struts的工作流程就是看请求的转移:/user/user.action

分析struts的工作过程(原理)

工作流程:
1.核心过滤器拦截以.action结尾的请求,将拦截的请求交给struts处理。正则匹配请求

<url-pattern>*.action</url-pattern>

2.struts里面有很多包(package),每个包管理不同的命名空间(namespace),以/user开头的请求进入命名空间为“/user”的包

<package name="user" namespace="/user" extends="struts-default">

3.包里面可以有很多的action,分别处理这个模块下的不同功能,user.action就分配给了名(name)为“user”,类(class)为UserAction的“action”处理了。此处的method指的是默认调用的java类中的方法

 <action name="user" class="cn.julse.predomSSH.action.UserAction" method="list">

Java类中的方法list()【这个java类需要继承ActionSupport,这样便于调用ActionSupport中为action写好的方法】

public class UserAction extends ActionSupport {
    private ArrayList<Users> userList;
    //=====================
    private UserDAO userDAO = new UserDAO();
    public String list(){
        try {
            userList=userDAO.getAll();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return "list";
    }
}


4.Java类处理完毕之后,返回一个字符串,这个字符串必须被action中的一个result匹配,便于返回指定的页面给用户。这里返回的是“list”

<result name="list">/users/users.jsp</result>

即是返回了名为list的结果,指向/users/users.jsp页面

图解Struts工作原理

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值