一、Struts2工作原理

如下图:

二、Struts2配置文件

1、web.xml

任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置了web.xml文件的Servlet才会被应用加载

通常,所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载StrutsPrepareAndExecuteFilter,StrutsPrepareAndExecuteFilter加载Struts框架。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>MyStruts2</display-name> <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

  

2、struts.xml

struts2的核心配置文件,负责管理应用中的Action映射,以及该Action包含的Result定义等。

内容包括:

1) 全局属性

2) 用户请求和响应Action之间的对应关系

3) Action可能用到的参数和返回结果

4) 各种拦截器

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 是否开启动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.example.struts2.LoginAction" method="login">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
<result name="result">/result.jsp</result>
</action>
</package>
</struts>

  

3、struts.properties

struts2框架的全局属性文件,自动加载。该文件包含很多key-value对。

该文件完全可以配置在struts2.xml文件中,使用constant元素

Struts2工作原理和核心文件的更多相关文章

  1. Struts2工作原理

    Struts2工作原理 Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.Acti ...

  2. Hibernate、Spring和Struts2工作原理

    Hibernate.Spring和Struts2工作原理 博客分类: Java 基础 工作HibernateSpringMVCStruts  Hibernate.Spring和Struts2工作原理  ...

  3. WordPress工作原理之程序文件执行顺序

    在了解WordPress挂载机制时,一直有一个疑惑,到底是WordPress的内核源文件先执行还是主题文件里functions.php文件先执行.为了解决这个问题,想了解WordPress的工作原理, ...

  4. Struts2工作原理及流程

    Struts2是基于MVC设计模式的JavaWeb 框架技术. 基于Struts2开发Java Web项目的主要步骤如下: (1)在web.xml中配置FilterDispatcher. (2)设计和 ...

  5. Struts2学习笔记一:工作流程与核心文件

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6807539.html  1:客户端发出请求到web服务器 2:请求经过一系列filter,最终到达Struts ...

  6. [转]Struts2工作原理

    Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Co ...

  7. Struts2工作原理和执行流程图

    在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Configuration Man ...

  8. 深入研究Struts2(一)---Struts2是什么?它的工作原理是什么?

    本文绝对原创, 欢迎转载, 但是转载请记得注明文章出处:http://blog.csdn.net/izard999/article/details/39891281 近4年都在从事Android方 面 ...

  9. Struts1、Struts2、Hibernate、Spring框架工作原理介绍

    Struts1工作原理 Struts1工作原理图 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控 ...

随机推荐

  1. 85.webpack的安装失败至成功

    webpack怎么安装 1.安装node.js; 2.安装webpack:   npm install webpack --save-dev   : 注意:webpack 4x以上,webpack将命 ...

  2. 更多企业选择MES系统?这一款功能竟如此强大

    很多制造业企业采用MES系统对制造生产的所有组成部分如订单.加工.质量.物料管理等进行集成,以实现产品生产的全过程管理,满足生产控制的需求,最终实现车间制造管理的信息化. MES系统不仅可以帮助企业提 ...

  3. Java 数组实例——将阿拉伯数字转换为最大写

    题目:将阿拉伯数字转换为最大写,比如1234转换为壹仟贰佰叁拾肆. package my_package; public class Transform { private String[] arr1 ...

  4. 3.kettle-定时执行任务

    kettle定时任务可以 用两种方法. 第一种如下,但这种缺点也很明显,就是该job窗口不能关闭.(重复时间含义问题截图来自https://www.cnblogs.com/biehongli/p/10 ...

  5. Maven项目中jstl表达式失效

    从网上看到的可能原因: 1.包没导入 2.web.xml版本太低,不支持 最后,我一直忽略了的解决办法: 关于jstl和el表达式失效的解决办法 - - ITeye博客 https://aazham. ...

  6. 【Docker】Docker容器中安装netstat命令

    1)先执行 apt-get update 2) 再执行 apt-get install net-tools

  7. 树莓派开机发送IP地址到邮箱

    树莓派使用的wifi联网,在宿舍使用的是公共网络,不能设置静态ip,每次树莓派上电开机后ip地址可能会改变,所以让树莓派开机联网后自动发送ip地址到QQ邮箱 一.安装mutt和msmtp mutt: ...

  8. maven nexus 私服搭建 Linux版

    准备工作 已安装jdk 已安装maven 下载Nexus Repository OSS:https://www.sonatype.com/download-oss-sonatype 如果无法下载成功, ...

  9. K-Dominant Character CodeForces - 888C

    题目链接:https://vjudge.net/problem/CodeForces-888C 划一条线,使得不论怎么划线,都会出现一个特定的字符,那么这条线最短要多长. 用字符间隔考虑. 先判断哪些 ...

  10. css3动画 2D 3D transfrom

    2D transform 例如transform: translate(1px,30px); translate() 方法 translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当 ...