Structs2框架学习 Day2

二、搭建Struts2开发环境并理解配置文件

1、搭建开发环境

手动搭建开发环境

  • 导入相关jar包

    Struts框架的开发常用的jar包,一般有这些:

    这里写图片描述

  • 复制Struts.xml文件到项目中

  • 在web.xml中加入过滤器代码

    <filter>
    
    <filter-name>Struts2Filter</filter-name>
    
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    
    </filter-class>
    
    </filter>
    
    <filter-mapping>
    
    <filter-name>Struts2Filter</filter-name>
    
    <url-pattern>/*</url-pattern>
    
    </filter-mapping>
    

使用IDE自动搭建开发环境

如果觉得手动比较麻烦,我们也可以在IDE环境中快捷创建Struts2环境:

  • 创建java项目

  • 右键项目在MyEclipse上,选择Add Struts Capablities.

  • 在弹出的对话框中选择Struts2的版本,然后选择过滤器的过滤效果即可。

2、配置文件概述

元素提示功能启用:

Struts2的配置文件时Struts.xml,打开xml文件后即可看到这样的界面:

此时我们需要启用此配置文件的自动提示,显示是我们要编写的具体元素,如果我们的提示包不能用,无法自动提示,就需要导入一个Struts-2.3.dtd后缀的文件才可以,如果电脑联网它会自动进行下载和加载,如果未联网,在Windows-preference-MyEclipse-Files and Editors-XML-XML Catalog下点击添加Add,会出现下面的界面:

KeyType选择URI,在Key中填写此URI:http://struts.apache.org/dtds/struts-2.3.dtd,在Location位置点击File System找到这个路径Struts2.3.16.1/src/core/src/main/resources,在目录中可以找到此文件,导入后即可成功显示元素提示。

常用元素介绍
Struts2中常用的标签元素有这些:bean、constant、package、include等。它们各自代表的一些意思见下图:

在上面的图中,可以看到,package是一个包标签,用于区分不同的请求文件的标签,比如前台的请求和后台的请求,以前的方法是通过Servlet来处理一个请求,在Struts2中则用这种方式来处理。下面通过一个Demo来验证一下如何用Struts来处理请求,代码很简单,如下:

首选看配置文件:

然后看LoginAction.java文件:

    public class LoginAction {  
    private String username;
    private String password;

    public String execute(){
        if(username.equals("admin") && password.equals("123")){
            return "success";
        }else{
            return "fail";
        }

    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

截图如下:

注意:在此Demo中,我们在LoginAction.java中并没有手动获取username和password的值,为什么他会自动的进行判断是不是admin呢?这是因为Struts2中的前置拦截器在起作用,它会将jsp页面中的数据自动的进行数据封装和文件上传,同时它也是Struts2的灵魂所在。

3、项目走向流转

Http请求流转流程:

一个完整的Http请求从web.xml开始,经过web.xml的过滤器过滤,过滤出action的请求,然后经过Struts2.xml进行url地址与action地址的匹配,成功后进入相应的类文件,然后到前置过滤器,进行数据的封装和文件的上传,然后到达java文件进行一些请求数据的处理(接收数据和持久化数据),返回一个字符串来标识结果页,然后经过后置拦截器进行异常信息的拦截和日志信息的处理,再传给Struts.xml进行返回的字符串匹配,随后跳转到相应的结果页面,如果结果页面还有请求,继续执行这个过程,具体如下图所示:

根据上面的小Demo进行配置连接点的分析:

在上面的图中,action后面的path代表我们自己的文件路径,然后/users/CheckLogin.action指向Struts2内部名为users的package标签包下面的action,而此action又有相应的class指向(包名.类名),然后通过action下面的result指向一个结果页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值