美文网首页
struts配置文件解析

struts配置文件解析

作者: _FireFly_ | 来源:发表于2020-12-04 09:35 被阅读0次

struts相关的配置文件

1. web.xml

  • 配置一个过滤器,作为struts框架的核心入口

  • 原来:

    • 浏览器发送请求
    • 服务器接收请求
    • 参考web.xml,找到匹配的servlet
    • 调用servlet.service方法。
  • 现在:

    • 浏览器发送请求
    • 服务器接收请求
    • 服务器将所有的请求交给struts框架 (struts可以接收服务器请求)
    • struts框架参考struts.xml,找到匹配的action
    • 调用action.execute方法

2. struts-default.xml

  • struts框架的核心配置文件
  • 在struts2-core.jar文件中
  • 常用见配置标签及其作用 (了解)
  • <bean> 配置一些类,在框架启动时创建的对象(框架使用)
  • 将来我们可以通过改变<bean>配置,来改装框架。
  • <package> 将一些公共的配置打包(集中管理)
  • 可以被其他<package extends="...">继承使用。
  • <package> -> <interceptor>
  • 声明拦截器
  • 拦截器是struts的功能核心
  • 每一个拦截器对象都有一个相应功能
  • struts在请求响应过程中的一些处理功能都是由拦截器对象完成的。
  • 常用的拦截器功能如:接收参数,国际化,异常处理,文件上传等。
  • 拦截器是aop应用体现(相当于切面对象)
  • aop : 面向切面的编程 (横切面编程)
  • 特点: 在目标之前或之后,执行一些公用性的功能(如:编码处理,登录认证)
  • 优点: 可以动态的增减功能
  • 扩展 <interceptor-stack> 拦截器栈 , 拦截器功能的组合
  • 默认拦截器栈(19功能),每次经过struts框架的请求都会执行一遍。
  • <package> -> <result-type>
  • 声明结果类型
  • 请求处理之后的结果处理方式(响应方式)

3. default.properties

  • struts框架的公共属性
  • 在struts2-core.jar/org.apache.struts2包中
  • 经常重置的属性:
  • struts.i18n.encoding=UTF-8 设置编码字符集。
  • struts.multipart.maxSize=2097152 设置上传文件大小的上限
  • struts.action.extension=action,, 设置框架处理请求的后缀
    /test.action 对
    /test 对
    /test.do 错
    struts.action.extension=action,do,,
  • struts.enable.DynamicMethodInvocation=false 设置框架是否允许动态方法调用
  • struts.configuration.xml.reload=true 设置struts.xml文件每次请求重新加载(开发时使用)
  • struts.devMode=false 设置开发者模式
  • struts.custom.i18n.resources=testmessages,testmessages2 设置国际化文件名称
  • 默认属性重置(修改):
  • 方式1: 在struts.xml文件中使用<constant>标签重置属性
<struts>
    <constant name="struts.action.extension" value="action,," />
    <constant name="struts.configuration.xml.reload" value="true" />

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

        <global-results>
            <result name="error">error.jsp</result>
        </global-results>

        <action name="test" class="com.action.TestAction" >
            <result name="success" type="redirect">main.jsp</result>
        </action>

    </package>
    <include file="base.xml" />
</struts>

base.xml

<?xml version="1.0"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="dmc2" extends="dmc">
        <action name="test2" class="com.action.TestAction" method="t2">
            <result name="success" type="dispatcher">main.jsp</result>
            <result name="error">error.jsp</result>
        </action>
    </package>
</struts>

方式2: 创建src/struts.properties文件,集中修改

   struts.action.extension=action,,

4. struts-plugin.xml

  • struts框架除了自身提供了许多功能,还提供了许多插件功能(注解编程,json处理,ss整合)
  • 这些功能插入框架后,可能会改变框架原有的对象,也可能会增加一些新对象功能
  • 这些内容都在struts-plugin.xml文件中配置

5. struts.xml

  • 映射配置文件

  • 作用是实现请求-响应关系的配置。

  • 常用标签:

  • <bean> 改造框架

  • <constant> 重置属性

  • <include> 引入struts的子配置文件

  • <package> 做一些集中的配置,可以通过继承,使用其他package中的功能,也可以被其他package使用

  • <package name="dmc" > 为包命名,可以被其他包继承

  • <package extends="struts-defalt" > 继承其他包(拦截器,结果类型)

  • <package namespace="/user" > 匹配请求路径
    localhost:8080/ struts / test.do
    localhost:8080/ struts / user / test.do
    localhost:8080/ struts / admin / test.do

  • <package> --> <action> 配置请求映射关系

  • 哪个请求 交给 哪个class类处理
    <action name="test" class="com.action.TestAction">

  • test请求,由com.action.TestAction类处理 (隐藏:由execute方法处理)

  • 扩展:<action> 除了上述name和class属性外,还有一个常用属性method
    <action name="test" class="com.action.TestAction" method="t1">

  • 指定此次请求由哪个类的哪个方法处理。

  • <package --> <action> --> <result> 配置响应映射

  • 根据请求映射关系,找到处理请求的类和方法

  • 该方法可以通过String返回值来指定响应内容和方式

  • 处理请求的方法返回一个字符串,假设:"success"

  • 字符串与<result name="success">匹配

  • 通过<result type="dispatcher">指定响应方式

  • 所有的响应方式可以参考struts-defualt.xml/<result-type>

  • 通过<result>main.jsp</result> 指定响应的内容

  • <package> -> <interceptors> 自定义拦截器功能。

  • <package> -> <results-type> 自定义响应类型

  • <package> -> <global-results> 设置公共的响应映射

当许多请求都有相同的响应处理,例如:

login.do -> success/error
save.do -> success/error
delete.do -> success/error

<global-results>
    <result name="error">error.jsp</result>
</global-results>
public class TestAction {
    public String execute(){
        System.out.println("-------------------------");
        return "error" ;
    }

    public String t2(){
        System.out.println("==========================");
        return "error" ;
    }
}       

相关文章

  • 解析配置文件

    解析配置文件 1.INCLUDES(包含) 和我们的Struts2配置文件类似,可以通过includes包含,re...

  • struts配置文件解析

    struts相关的配置文件 1. web.xml 配置一个过滤器,作为struts框架的核心入口 原来:浏览器发送...

  • Struts2简介

    Struts2的配置文件和加载顺序 struts.xml配置文件的内容标签 动作类:Action Struts2中...

  • struts2|struts2框架如何使用?

    struts2框架使用方法有两种如下。 一、使用配置文件struts.xml 步骤1. 配置文件struts.xm...

  • struts2核心配置文件

    struts2核心配置文件:web.xml、struts.properties、struts.xml web.xm...

  • Struts 2中的配置文件和静态资源处理

    Struts 2框架的配置文件有 web.xml struts.xml struts.properties str...

  • Struts2

    struts2介绍 使用 Action Struts配置文件 struts2访问过程 Action细节 请求参数封...

  • Struts2 环境的搭建及和HelloWorld

    环境搭建 分为三步 引入关键包 加入struts的filter 配置struts的配置文件 struts.xml ...

  • Struts2【配置】知识要点

    前言 上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了.....对Struts的配置文件有了了解...

  • struts2注解

    Struts2注解 1Struts2注解的作用 使用注解可以用来替换struts.xml配置文件!!! 2导包 必...

网友评论

      本文标题:struts配置文件解析

      本文链接:https://www.haomeiwen.com/subject/fkjbwktx.html