Struts2笔记二之struts.xml

BCIC IV 2a数据集:从下载到实战应用全解析 本文全面解析了BCI Competition IV 2a(BCIC IV 2a)数据集的应用流程。从官方渠道下载数据、解析其结构,到在MATLAB和Python环境中进行数据导入、预处理(包括处理特殊受试者A04T),并详细演示了从特征提取(如CSP)到分类(如LDA、SVM)的完整实战步骤,为脑机接口研究者提供了从入门到实践的清晰指南。 阅读详情

Struts2笔记二之struts.xml

1、struts.xml中的package:

它就像java中的package一样,起打包的作用。避免重名的action起冲突,即重名的action分别放在两个package中就不会有冲突。

例如前台package有一个名为login的action后台也有一个名为login的action。还有一点就是,可以定义一个公共的package,里面定

义一些公共配置,之后的package继承这个package就不用重复定义那些配置了。它有三个属性name,namespace,extends。

name:必填属性,用来指定包的名字。

extends:可选属性,用来指定该包继承其他包。继承其它包,可以继承其它包中的Action定义、拦截器定义等。

namespace:可选属性,用来指定该包的命名空间。


2、struts.xml中的namespace:

namespace决定了action的访问路径,默认为"",可以接受所有路径的action,如果要访问index.action对应的路径可以为:

/index.action,/xxx/index.action,/xxx/yyy/index.action。即所有包含index.action的都可以。但是这样没有严格地规范毕竟不好

有时还会出错,所以定义namespace有必要。namespace可以写为"/","/xxx"或者"/xxx/yyy",对应的action访问路径为/index.action,

/xxx/index.action,/xxx/yyy/index.action。namespace最好用模块来进行命名。


3、struts.xml中的extends(继承):

继承一个已经定义好了的package,与java中的extends一样的含义。所有的package都需要继承"struts-default"


4、struts.xml中的result:

指定请求访问结束后的跳转路径可以为jsp等页面,也可以是另一个action,result的属性有name和type,name默认为success,

type在需要用时在指定。如:<result>/hello.jsp</result>。


5、struts.xml中的include:

在struts.xml中加入<include file="文件路径">,可以包含自定义的struts.xml,常用与多人开发中,每个人各自管理自己的

struts.xml,名字自取,然后上述请求就会被StrutsPrepareAndExecuteFilter接收到。包含在总的struts.xml中就行了。


6、struts.xml中的constant:

Struts2框架有两个核心配置文件,其中struts.xml文件主要负责管理应用中的Action映射, 及Action处理结果和物理资源之间的

映射关系。除此之外,Struts2框架还包含了一个struts.properties文件,该文件主义了Struts2框架的大量常量属性。但通常推荐也是在

struts.xml文件中来配置这些常量属性。如: <constant name="struts.custom.i18n.resources" value="messages"/>


7、Action三种写法:

1.不写Action类<action name="HelloWorld"><result>/hello.jsp</result></action>

2.自定义的Action类实现Action接口:HelloWorldAction implements Action

3.自定义的Action类继承ActionSupport类:HelloWorldAction extends ActionSupport

主要使用的还是第三种,ActionSupport还提供了一系列的封装好了的方法。如果在action中指定了类,却不指定方法,则默认执行的是execute

方法。方法名字可以自定义,只需要在action中配置method="方法名"就可以了。如果action不给其配置class,则Struts会执行默认的class-->:

ActionSupport这个class实现了Action接口,而Action接口中配置了几个常量:SUCCESS = "success"; NONE = "none"; ERROR = "error";

INPUT = "input"; LOGIN = "login";


8、Struts2很麻烦的一个问题就是Path路径问题。下面这个action配置:

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

    <action name="path" class="com.edifier.struts2.path.action.PathAction">

        <result name="path">/path.jsp</result>

    </action>

</package>
我的tomcat端口号是8081,项目名称是Struts2Demo。我要通过path这个action访问path.jsp那么访问请求需要写成: 

localhost:8081/Struts2Demo/path/path.jsp,之后在进入path.jsp页面以后,我想访问WebRoot根路径下的index.jsp时就要很讲究了:

因为之前的访问中有namespace。在path.jsp中有一个链接为<a href="index.jsp">index</a>,path.jsp与index.jsp位于同一级目录,

点击此链接会出现404的错误,因为访问请求为:localhost:8081/Struts2Demo/path/index.jsp了。如果写成../index.jsp,确实可以访问到

localhost:8081/Struts2Demo/index.jsp,但是如果path这个namespace变成/path1/path2那么这里又会出现404的错误所以这个方法还是不可取。

如果写成/index.jsp表示访问根目录,问题又来了,这次访问的是localhost:8081/index.jsp,这也不是我们要访问的页面。

解决办法是使用绝对路径,在jsp页面中插入:

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

request.getScheme() 对应http

request.getServerName() 对应localhost

request.getServerPort() 对应 8081端口

path 对应项目名称

这样basePath就等价于localhost:8081/Struts2Demo/,之后的路径就看我们怎么写了,这里访问index.jsp写的方法是:<%= basePath%>index.jsp。

另外一个办法就是在<head>里面加入<base href="<%=basePath%>" />, 它的意思是默认在当前页面所有连接的前面加上<%= basePath%>,

这样我们再访问index.jsp页面直接写index.jsp就可以了。


9、Struts中的动态方法调用(DMI)

<package name="user" extends="struts-default" namespace="/user">
    <action name="userAdd" class="com.edifier.struts2.user.action.UserAction" method="add">
        <result name="add">/user_add_success.jsp</result>
    </action>
    
	<action name="userDelete" class="com.edifier.struts2.user.action.UserAction" method="delete">
        <result name="delete">/user_delete_success.jsp</result>
    </action>
	
    <action name="user" class="com.edifier.struts2.user.action.UserAction">
        <result name="add">/user_add_success.jsp</result>
		<result name="delete">/user_delete_success.jsp</result>
    </action>
</package>
在正常访问中,我们想访问userAdd这个action,访问的请求为localhost:8081/Struts2Demo/user/userAdd,如果我还想访问userDelete这个action,

访问的请求为localhost:8081/Struts2Demo/user/userDelete,但是这样就需要写连个action了。但是动态方法调用可以帮助我们减少action的数量,一个

action配一个就可以了方法为在action中配置name和class,但是不指定method,在页面访问的时候动态指定方法具体为:

localhost:8081/Struts2Demo/user/user!add,这个访问name=user的action中的add这个方法,

localhost:8081/Struts2Demo/user/user!delete,这个访问name=user的action中的delete这个方法,

这就是动态方法调用(DMI)。

10、Struts通配符:

<package name="actions" extends="struts-default" namespace="/actions">
    <action name="Student*" class="com.edifier.struts2.action.StudentAction" method="{1}">
        <result>/Student{1}_success.jsp</result>
    </action>
        
    <action name="*_*" class="com.edifier.struts2.action.{1}Action" method="{2}">
        <result>/{1}_{2}_success.jsp</result>
        <!-- {0}_success.jsp -->
    </action>
</package>

public class StudentAction extends ActionSupport {
	public String add() {
		return SUCCESS;
	}
	public String delete() {
		return SUCCESS;
	}
}
public class TeacherAction extends ActionSupport {
	public String add() {
		return SUCCESS;
	}
	public String delete() {
		return SUCCESS;
	}
}
这里我要访问StudentAction类中的add方法,请求是这样的localhost:8081/Struts2Demo/actions/Studentadd,Student后面的add匹配

action中Student后面的*,并且Struts给其编号为{1},于是这里的*就是{1}等于add.而这个{1}可以用在后面的method、result中。如果访问delete

方法请求就是请求是这样的localhost:8081/Struts2Demo/actions/Studentdelete,这里如果有2个*这就会有{1}和{2}对应每一个*,以此类推。

在TeacherAction中就可以看出他的用法,但是*与*之间特殊符号隔开。

11、Struts中参数的传递。

方法一:请求为localhost:8081/Struts2Demo/actions/Studentadd?name="Edifier"&age=24,这里向Action类中传递了两个参数name和age。

要想在Action中接收到这两个参数,除了用request以外,还可以在Action类中定义这两个参数的属性,private String name;private int age;同时配上

set方法。因为Struts就是用set将页面传递的参数赋值到Action类中对应的参数上的。

方法二:我们将接收到的参数直接赋值给对象如将页面传递的name和age直接赋值给user对象上,这里请求就需要这样写了(user.name用到了ognl表达式):

localhost:8081/Struts2Demo/actions/Useradd?user.name="Edifier"&user.age=24,在Action类中我们只需要定义这个User类的属性

private User user;然后配上public void setUser(User user){this.user = user}就可以了。

方法三:让Action类实现ModelDriven<对象类>。这里对象类用User写法如下:

	public class UserAction extends ActionSupport implements ModelDriven<User>{
		private User user = new User();
		public String add() {
			System.out.println("name=" + user.getName());
			System.out.println("age=" + user.getAge());
			return SUCCESS;
		}
		@Override
		public User getModel() {
			return user;
		}
	}
通过getModel方法获取封装了name和age的user对象。而user也不需要set方法了。而页面上请求的访问要写成:

localhost:8081/Struts2Demo/actions/Useradd?name=a&age=8

12、Struts中编码问题

第一要保证tomcat编码为UTF-8,页面编码也为UTF-8,之后就是可以在struts.xml中配置 <constant name="struts.i18n.encoding" value="UTF-8" />,

如果还不行,可以在web.xml中,在struts的filter之前加一个中文编码的filter,如果不加filter,那就只能在Action类中中自己转码了。


13、struts的数据校验

使用struts标签进行错误信息传递,在页面上要使用struts标签需要引入:<%@taglib uri="/struts-tags" prefix="s" %>,这样就可以了。

在Action类中传递信息的写法如下:

this.addFieldError("name", "name is error");

this.addFieldError("name", "name is too long");

信息校验页面接收信息的写法如下:

<!-- 这里的fieldName中的"name"对应this.addFieldError("name", "name is error");中的"name" 

下面这种下发页面显示的效果为<ul class="errorMessage"><li><span>name is error</span></li>

</ul>这样用户体验不好-->

<s:fielderror fieldName="name" theme="simple"/><br />

<!-- 下面是另外一种获取后台传递的错误信息显示的效果就是一个字符串,我们可以自定义显示效果,errors取出来的对

象是一个Map,但是去的name确实一个数组,我们在后台添加5条信息就是大小为5的数组 -->

<!-- 我们在后台是将name is error加入到fielderror中去的,struts还有一种error是actionerror.

但是最后这两个error都会加入到errors中去,所以我们既可以在fielderror中取得name is error也可以

在errors中取得-->

<s:property value="errors.name[0]"/><!-- 显示的结果为:name is error -->

<s:property value="errors.name[1]"/><!-- 显示的结果为:name is too long -->

<!-- 在页面上显示的是一个Debug按钮,点击以后可以查看一些debug信息 -->

<s:debug></s:debug>


14、Struts2中request、session、application、HttpServletRequest、HttpSession、ServletContext的取法。

a).首先是request、session、application这三个的第一种取法,他们取的类型都是Map类型

public class LoginAction1 extends ActionSupport {
	private Map request;
	private Map session;
	private Map application;
	
	public LoginAction1() {
		request = (Map)ActionContext.getContext().get("request");
		session = ActionContext.getContext().getSession();
		application = ActionContext.getContext().getApplication();
	}
	
	public String execute() {
		request.put("r1", "r1");
		session.put("s1", "s1");
		application.put("a1", "a1");
		return SUCCESS; 
	}
}
前台取:

<!-- struts标签取得方式 --> <!-- 最原始的取得方式 -->

<s:property value="#request.r1"/> | <%=request.getAttribute("r1") %> <br />

<s:property value="#session.s1"/> | <%=session.getAttribute("s1") %> <br />

<s:property value="#application.a1"/> | <%=application.getAttribute("a1") %> <br />

b).首先是request、session、application这三个的第二种取法,他们取的类型都是Map类型,分别需要实现RequestAware,SessionAware, 

ApplicationAware接口这种方式是最常用的。request、session、application这三个,在struts中常用的就session对象,其他两个用的都很少。

public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {	
	private Map<String, Object> request;
	private Map<String, Object> session;
	private Map<String, Object> application;
	
	public String execute() {
		request.put("r1", "r1");
		session.put("s1", "s1");
		application.put("a1", "a1");
		return SUCCESS; 
	}

	@Override
	public void setRequest(Map<String, Object> request) {
		this.request = request;
	}

	@Override
	public void setSession(Map<String, Object> session) {
		this.session = session;
	}

	@Override
	public void setApplication(Map<String, Object> application) {
		this.application = application;
	}
}
c).HttpServletRequest、HttpSession、ServletContext这三个的第一种取法,

public class LoginAction3 extends ActionSupport {	
	private HttpServletRequest request;
	private HttpSession session;
	private ServletContext application;
	
	public LoginAction3() {
		request = ServletActionContext.getRequest();
		session = request.getSession();
		application = session.getServletContext();
	}
	
	public String execute() {
		request.setAttribute("r1", "r1");
		session.setAttribute("s1", "s1");
		application.setAttribute("a1", "a1");
		return SUCCESS; 
	}
}
d).HttpServletRequest、HttpSession、ServletContext这三个的第二种取法,他们取的类型都是真实类型,需要实现ServletRequestAware接口

public class LoginAction4 extends ActionSupport implements ServletRequestAware {	
	private HttpServletRequest request;
	private HttpSession session;
	private ServletContext application;

	public String execute() {
		request.setAttribute("r1", "r1");
		session.setAttribute("s1", "s1");
		application.setAttribute("a1", "a1");
		return SUCCESS; 
	}

	@Override
	public void setServletRequest(HttpServletRequest request) {
		this.request = request;
		this.session = request.getSession();
		this.application = session.getServletContext();
	}
}


15、struts.xml中的default-action-ref

如果在请求一个没有定义过的Action资源时,系统就会抛出404错误。这种错误不可避免,但这样的页面并不友好。我们可以使用

<default-action-ref>来指定一个默认的Action,如果系统没有找到指定的Action,就会指定来调用这个默认的Action。

<package name="default" namespace="/" extends="struts-default">
	<!-- 设置访问改namespace下的默认action,即当请求中只有namespace而没有action时或者找不到对应的action时,
		就会跳到这个默认的action.用处,当别人随意的输入网址,我们可以设置默认的跳到首页,或者登陆页面。-->
    <default-action-ref name="index"></default-action-ref>
    <action name="index">
    	<result>/default.jsp</result>
    </action>
</package>


16、struts.xml中的<default-class-ref>

当我们在配置Action的时候,如果没有为某个Action指定具体的class值时,系统将自动引用<default-class-ref>标签中所指定的类。在Struts2框架中,

系统默认的class为ActionSupport,该配置我们可以在xwork的核心包下的xwork-default.xml文件中找到。有特殊需要时,可以手动指定默认的class。

<package name="default" extends="struts-default">
	<!--指定默认class为DefaultClassRef-->
	<default-class-ref class="com.edifier.action.DefaultClassRef"/>
	<action name="test1">
		<result>/index.jsp</result>
	</action>
</package>


17、struts.xml中的<exception-mapping>与<global-exception-mapping>

这两个标签都是用来配置发生异常时对应的视图信息的,只不过一个是Action范围的,一个是包范围的,当同一类型异常在两个范围都被配置时,Action范围的优先级要高于包范

围的优先级.这两个标签包含的属性也是一样的:

属性名称是否必须功能描述
name否用来表示该异常配置信息
result是指定发生异常时显示的视图信息,这里要配置为逻辑视图
exception是指定异常类型

<package name="default" extends="struts-default">
	<global-exception-mappings>
		<exception-mapping result="逻辑视图" exception="异常类型"/>
	</global-exception-mappings>
	<action name="Action名称">
		<exception-mapping result="逻辑视图" exception="异常类型"/>
	</action>
</package>

18、struts.xml中的<global-results>

该标签用于设置包范围内的全局结果集。在多个Action返回相同逻辑视图的情况下,可以通过<global-results>标签统一配置这些物理视图所对应的逻辑视图。

<package name="error" extends="struts-default">
	<global-results>
		<result name="error">/error.jsp</result>
	</global-results>
</package>


Struts的Action总结
1. 实现一个Action的最常用方式:从ActionSupport继承
2. DMI动态方法调用:"!"
3. 通配符配置*{1}{2}...  *_*
4. 接收参数的方法(一般用属性或者DomainModel来接收)
5. 简单参数验证addFieldError
a) 一般不使用Struts2的UI标签
6. 访问web元素request,session、application
a) Map类型
1). IOC注入 (这是最常用的)
2). 依赖Struts2
b) 原始类型
1). IOC注入
2). 依赖Struts2
7. 包含文件配置
8. 默认action处理
第95章 安全工程师:Shell 脚本实现安全扫描、漏洞检测、日志审计 随着网络安全威胁日益复杂,传统的手动安全管理已无法满足现代企业的安全需求。Shell 脚本为安全工程师提供了强大的自动化能力,能够实现 7×24 小时的安全监控、快速漏洞扫描、智能日志分析和实时威胁响应。本章将系统介绍如何使用 Shell 脚本构建完整的安全防护体系,从基线检查到实时监控,帮助你打造自动化的安全运维能力。 阅读详情

相关推荐

STM32CUBEMX 使用教程5 — DMA配置 & 串口结合DMA实现数据搬运

DMA(Direct Memory Access),直接存储器访问(或数据搬运),是STM32中很实用的一个外设。DMA 传输数据方式不需要 CPU 参与控制传输,也不用中断处理的方式进行数据搬运处理,纯粹通过硬件为 RAM 与 I/O 设备之间开辟一条直接传送数据的通路,使 CPU 的效率大大提高。

weixin_43866583的博客 1500

Struts 2入门笔记(二):struts.xml基本配置说明

struts基础配置

281

T分布和T检验的理解,Python代码实现T检验的计算

每天学习一点,每天进步一点。 声明:本人所有的原创,都是自己在学习过程中的记录点滴,不一定都是对的,肯定也会有一些错误的想法。所以大家看一看就好,不可尽信。当然也欢迎指出。 T分布 定义,有来自标准正态分布的样本X ~ N(0,1),和来自卡方n分布的Y ~ X2(n), 那么有 Z= X/√(Y/n) 成为符合自由度为n的T分布 我们用Python代码画一下他的图形 # 给一个自由度,返回这个自由度的卡方分布 X²(n) def product(n): n = np.ceil(n).astype

PY_smallH的博客 8485

Struts2学习笔记(二)数据驱动与struts.xml配置

1.Action get/set 自动获取/设置数据 2.ActionSurport引入 3.数据驱动 (1)属性驱动(FieldDriven) A:基本类型属性 B.JavaBean类型属性 (2)模型驱动(ModelDriven) 4.处理多个值 (1)处理多个同名参数 (2)传入多个JavaBean对象

naruto_Mr的专栏 714

解读文献(五)------基于阻抗控制

文章目录背景主动柔顺控制阻抗控制基于力的阻抗控制基于位置的阻抗控制力位混合控制 背景 主动柔顺控制 阻抗控制 基于力的阻抗控制 基于位置的阻抗控制 力位混合控制 ...

accumulation 1万+

SecureCRT串口连接保姆级教程:从驱动安装到波特率设置(附常见问题解决)

本文提供SecureCRT串口连接的保姆级教程,涵盖从USB转串口驱动安装、端口识别到波特率等核心参数设置的完整流程。针对连接失败、乱码、键盘输入无响应等高频问题,给出了深度排查与解决方案,帮助网络与嵌入式开发新手快速掌握串口调试技能。

weixin_29281941的博客 433

Struts2初学 struts.xml详解一+Struts2初学 Struts.xml详解二

Struts2初学 struts.xml详解一 Struts2初学 Struts.xml详解二

shenghua 703

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 316

Struts2中struts.xml的Action配置详解(一)===》 struts2.0中struts.xml配置文件详解 (二)==》Struts2_struts.xml配置及例程三

struts2.0中struts.xml配置文件详解 二 Struts2中struts.xml的Action配置详解(一)  (2011-03-04 20:43:25) struts.xml文件结构 struts.xml文件是整个Struts2框架的核心。 struts.xml文件内定义了Struts2的系列Action,定义Actio

shenghua 3483

北斗导航 | 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 会议论文下载:ION 美国导航学会

2023 国际技术会议(ITM) 2023 精密时间和时间间隔系统和应用会议(PTTI) 2022 美国导航学会国际会议(ION GNSS +)

尘世冰封的专栏 4614

图文:银行核心账务处理逻辑(白话篇)

银行账务系统分为对内账(记录银行自身资产负债)和对外账(处理客户交易),通过特定编码规则的账号体系进行管理。采用T型账户结构和凭证制度确保每笔交易可追溯,通过明细核算与综合核算双线并行、每日轧账核对(科目日结单、总账、日计表)实现账务精准平衡。从业务触发到最终账平的全流程体现了银行账务"分层记录、双向核对、闭环校验"的核心原则,保障资金流动的透明性与安全性。

银行信息系统应用架构详解 541

二、Struts2开发流程

一、确定Struts在开发中的地位    Struts其实就是一个Servlet; 根据传统MVC开发模式,如图所示:       Servlet担任了Controller的职责, 而Struts框架加入后,Struts其实就是担当了Servlet的职责,即任何一个处理请求都会经过Struts框架,并由他进行分发;     二、Stru

xiazdong 4440

Hugging Face快速入门(重点讲解模型(Transformers)和数据集部分(Datasets))

1. Hugging Face是什么,提供了哪些内容 2. Hugging Face模型的使用(Transformer类库) 3. Hugging Face数据集的使用(Datasets类库)

iioSnail的博客 8万+

Struts2(二)struts.xml详解

struts.xml详解

Dason_yu的博客 402

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Struts2笔记——struts.xml配置详解

访问HelloWorld应用的路径的设置 * 在struts1中,通过<action path=“/primer/helloWorldAction.action”&gt...

chuanke1344的博客 512

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【struts2】struts2配置文件—struts.xml

解决在断网环境下,配置文件无提示的问题: 我们可以看到Struts.xml在断网的情况下,前面有一个叹号,这时,我们按alt+/ 没有提示,这是因为” http://struts.apache.org/dtds/struts-2.0.dtd”是一个网络地址,如果上网的话,IDE会自动帮我们下载此文件,如果断网就没有办法了,但是我们还是有解决方法的. 首先在源码包里找到struts-2.0.dt...

lmb55的专栏 1074

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Struts2学习笔记二——Struts2环境的搭建

一、Struts2环境的搭建: 1、添加jar包,注意jar冲突问题 2、在web.xml中添加struts2的核心控制器 3、在src下创建struts.xml 二、通过代码验证以上配置是否成功 登录 1、创建登录页面 ,例如:index.jsp 2、创建Action类,并重写execute方法,例如:LoginAction.java 3、在struts.xm

AC_coding 529

Struts2中配置多个struts.xml

在一个项目中,使用多个struts配置文件的用途是为了模块开发,将每个单独的模块配置一个struts.xml文件,最后通过一个struts.xml主配置文件将其他的配置整合起来,主配置文件(struts.xml)中代码如下: <struts> <include file="struts-order.xml"></include> <include file="struts-pay.xml"></include> <include fil

爱心家园的博客 417

struts2中struts.xml 非默认路径的配置

       struts2中的配置文件struts.xml,默认情况下放在src下,加载时从WEB-INF/classes/下装载。下面是 从非非默认路径的配置web.xml中struts2配置:        struts2        org.apache.struts2.dispatcher.FilterDispatcher                    config      

bin_bean的专栏 5602

struts2的struts.xml常量配置

Struts2常量介绍 10级学员 刘根鹏课堂笔记          经过前几讲的介绍,我想大家对struts2有了初步的了解,下面让我来讲讲struts2中常量的用法和使用(常量的默认配置struts2-core-2.x.x.x/org/apache/struts2/default.properties文件里)。 一.常量配置:          要用常量,首先要通过配置

白成卫的博客 273

Struts2学习笔记(二) 入门demo利用struts2进行请求拦截及转发

一、简介: struts2是基于MVC设计模式的web层框架,也就是说他相当于MVC框架中的web层,所以他本质上就是一个servlet。 如下图所示:传统模式下一个请求对应一个servlet. 而Struts2是基于前端控制器模型,也就是所有的请求都要先通过前端控制器,然后根据不同的请求分发到不同的action中,因为他可以拦截所有的请求,所以前端控制器也就是一个过滤器。 二、入门demo的编...

showadwalker的博客 645

Struts2基础入门(二)struts.xml文件配置

在struts2框架中struts.xml配置文件中,配置了action类请求还有跳转动作,还能在该文件中对struts相关常量进行配置。本篇文件就对struts.xml文件标签等做一下简单的介绍。 1.常量标签constant 常量标签constant是struts2用来设置整个框架的运行参数,当然不设置也行,因为这些参数的配置文件default.properties其中早就配置好了,里面各种参...

weixin_42510923的博客 354

Eclipse中建立struts2的配置文件struts.xml

Eclipse中建立struts2的配置文件struts.xml 的步骤:     1、解压最新的struts2包文件,我的是:struts-2.3.8-all.zip,然后找到struts-2.3.dtd所在路径并复制。(在struts2文件夹下的lib目录,找到struts2-core文件并解压,打开解压的目录下即可找到 struts2.3.dtd 。这里location就选中该文件。)

linshenshijianlu的博客 9670

Struts2笔记(二)、Struts2的配置文件

1、struts-default.xml 该文件是Struts2框架的基本配置文件,由框架自动加载。 作用:配置了bean,interceptor,result等 位置:org/apache/struts2/struts-default.xml 这个文件我们需要关注一个地方 这里定义了我们在Struts中使用的默认包 struts-default 这个包中可以看到所有result-type &...

青春的法法 209

IntelliJ IDEA学习Struts2(二)—— Struts2核心配置文件struts.xml中的常用标签

IntelliJ IDEA学习Struts2(二)—— struts.xml中的常用标签 struts.xml固定位于src下,dtd约束被默认创建,主要标签有三个package,action,result。 1.package标签 类似于代码包,区别不同的action,要配置action必须首先写package标签,在package里面才能配置action (1)name属性 name属性值与...

qq_43374104的博客 381

Struts2.xml结构

菜鸟新学Struts2 struts.xml的配置信息详解  坐下记录 以备以后查看

HiChangSha的专栏 495
上一篇: Struts2笔记一之简单了解Struts2
下一篇: Struts2笔记三之Result
Edifiergl
博客等级 码龄16年 7粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值