Struts2工作原理和核心文件

一、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元素

原文地址:https://www.cnblogs.com/linlf03/p/11462424.html

时间: 2024-10-14 21:06:46

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

Struts2工作原理

Struts2工作原理 Struts2请求响应流程: 在struts2的应用 中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping. Configuration Manager.ActionInvocation.Inerceptor.Action.Result等.下面我们来具体看看这些组件有什么联系,它们 之间是怎样在一起工作的. (1)  客户端(Client)向Action发用一个请求(Request)

Struts2工作原理及流程

Struts2是基于MVC设计模式的JavaWeb 框架技术. 基于Struts2开发Java Web项目的主要步骤如下: (1)在web.xml中配置FilterDispatcher. (2)设计和编写视图组件(JSP页面). (3)编写用来实现视图组件的业务逻辑组件JavaBean. (4)编写视图组件对应的业务控制器Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理. (5)配置Action,即修改struts.xml配置文件.在struts.xml中配置逻

[转]Struts2工作原理

Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Configuration Manager.ActionInvocation.Inerceptor.Action.Result等.下面我们来具体看看这些组件有什么联系,它们之间是怎样在一起工作的. (1)  客户端(Client)向Action发用一个请求(Request) (2)  Container

struts2 工作原理

struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物. struts2 的工作原理图: 一个请求在Struts2框架中的处理分为以下几个步骤: 1.客户端发出一个指向servlet容器的请求(tomcat): 2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器. 3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求

Struts2工作原理和执行流程图

在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller.ActionProxy.ActionMapping.Configuration Manager.ActionInvocation.Inerceptor.Action.Result等.下面根据 struts2.0体系架构图来解析这些组件之间的联系. 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 (客户端提交一个HttpServletRequest请求.) 请求被提交

Struts2工作原理及特点

1 客户端发送一个Request请求2 这个请求经过一系列的过滤器(Filter) (先经过ActionContextCleanUp的可选过滤器,然后经过其他过滤器, 最后才经过FilterDispatcher) 3 FilterDispatcher去询问ActionMapper来决定这个请是否需要调用某个Action 4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理 交给ActionProxy(动态代理) 5 ActionProxy通过

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

本文绝对原创, 欢迎转载, 但是转载请记得注明文章出处:http://blog.csdn.net/izard999/article/details/39891281 近4年都在从事Android方 面的工作, 最近换到一家单位做技术主管, 拿到外包的代码发现是Struts2做的, 5年之前对Struts2还是有一定见解的, 但是由于多年不用, 导致还是有些小淡忘,  翻出以前记录的一些笔记和心得, 再加上从官方文档又看到一些版本更新带来的一些新东西, 于是决定再次深入研究一次. 也希望此系列文章

Struts2 简单实例 / 工作原理 / 动态调用 / 多个配置文件

Struts2 动态方法调用 动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多. 1.指定method属性 2.感叹号方式 3.通配符方式 Demo结构图 web.xml标准配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee&qu

struts2学习笔记2 -struts2的开发步骤和工作原理

struts2的开发步骤: 1.先定义一个能发送请求的页面,可以是链接,也可以是表单(form) 2.开发action类,struts2对action并没有过多的要求,只要求: a 推荐实现action接口,或继承actionsupport类 b 为每个请求参数都提供feild,并为之提供相应的setter和getter方法 c 该action类应该有无参数构造器 3.配置action类 所有action都需要放在package里配置. <action>元素有如下属性: name 指定该act