Struts 1 之配置文件
web.xml中配置Struts的入口Servlet——ActionServlet,ActionServlet不负责任何的业务处理,它只是查找Action名单,找到path属性与URL属性一致的Action,把请求交给该Action处理
<servlet> <servlet-name>action</servlet-name> <!-- Sevrvlet名称--> <servlet-class> org.apache.struts.action.ActionServlet <!-- Servlet实现类--> </servlet-class> <init-param> <param-name>config</param-name> <!-- 配置文件,多个可以用逗号分隔--> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> <!-- 截获所有以.do结尾的请求--> </servlet-mapping>配置命名空间
<param-name>config/ namespace1</param-name> <param-value>/WEB-INF/struts-config-namespace1.xml</param-value>当请求是”/namespace1/hello.do”时会调用struts-config-namespace1.xml里面的Action;当请求是”/hello.do”时会调用struts-config.xml里面的Action
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache SoftwareFoundation//DTD Struts Configuration 1.2//EN""http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <!--配置数据源,需要commons-pool.jar和commons-dbcp.jar---> <data-source type="org.apache.commons.dbcp.BasicDataSource"> <set-property property="driverClassName" value="com.mysql.jdbc.Driver"/> <set-property property="url" value="jdbc:mysql://localhost:3306/databaseName?charaterEncoding=utf8"/> <set-property property="username" value="root"/> <set-property property="password" value="admin"/> </data-source> <form-beans> <!--FormBean配置--> <form-bean name="firstForm" type="com.clf.struts.form.HelloForm"/> <form-bean name="otherForm" type="com.clf.struts.form.OtherForm"/> </form-beans> <!--全局异常--> <global-exceptions> <exception key="error.email. invalid" type="java.lang.Exception" path="/error.jsp" handler="exceptions.EmailException"/> </global-exceptions> <!--全局forward,可以被Action访问--> <global-forwards> <forward name="myforward" path="/mystruts/newProduct.jsp" /> </global-forwards> <action-mapping> <action attribute="firstForm" <!--FormBean在request域中的属性名,request.getAttribute(“firstForm”)--> input="/form/hello.jsp" <!--输入页面,Action中执行mapping.getInputForward()将转到该页--> name="firstForm" <!--FormBean类型,与form-beans的name一致--> path="/hello" <!--访问路径"/hello.do"--> scope="request" <!--作用域,包括request、session--> type="com.clf.struts.action.HelloAction" <!--实现类--> > <forward name="success" path="/form/success.jsp"/> <!-- 跳转页面--> <forward name="fail" path="/form/fail.jsp" redirect="true"/> <!--redirect 表示跳转到此页面的方式,默认false时,执行request.getRequestDispatcher("").forward();为true时,执行response.redirect()--> </action> </action-mapping> <!--国际化资源--> <message-resource parameter="com.clf.struts.ApplicationResources"/> <!--可以用来覆盖一些默认的Struts设置,还可以用来配置第三方控制器,比如Spring--> <controller <!--指定在文件上传时的最大文件尺寸。可以使用K、M和G作为单位,必须为整数--> maxFileSize="2M" <!--指定默认的ContentType字段值--> contentType = "text/html" <!--告诉Struts是否应该缓冲内容。默认为true--> nocache = "false" /> <!-- 配置插件--> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validations.xml"/> <set-property property="pathnames" value="false"/> </plug-in> </struts-config>Struts能够自动转化常用的数据类型,例如int、double等以及java.sql.Date、POJO等,如果变量是int、double、float等数字类型,格式不正确会当做0,如果为Date、Time等复杂类型,格式不对时会抛出异常
Struts不会自动创建POJO对象,在FormBean里面用到的时候,必须用new实例化一个POJO对象
如
public classUserBean extends ActionForm{ private Person person = new Person(); …… }JSP页面显示对象的属性用“.”操作符
<html:text property="person.name"></html:text>Action由Struts的ActionServlet产生并维护,每个Action都置于一个实例,在加载Struts时产生,在卸掉Struts时销毁,因此Actin和Servlet一样,都是线程不安全的
而FormBean在每次请求时都会生成一个新的实例,因此是线程安全的
Struts 1 之配置文件的更多相关文章
- struts几个配置文件加载顺序_2015.01.04
struts几个配置文件加载顺序: 01:struts-default.xml 02:struts-plugin.xml 03:struts.xml 04:struts.properties 05:w ...
- Struts按着配置文件的加载的顺序,后面文件和前面文件相同的配置,后面的会把前面的文件的值覆盖
Struts按着配置文件的加载的顺序,后面文件和前面文件相同的配置,后面的会把前面的文件的值覆盖
- 2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法
struts.xml 原始配置文件 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...
- Struts 2 之配置文件
Struts 1使用ActionServlet作为分发器,而Struts 2使用Filter作为分发器.如果有多个Filter,要把Struts 2的分发器Filter放在最后 web.xml < ...
- struts 1.x配置文件说明
<struts-config> <global-exceptions /> <!--全局映射定义--> <global-forwards> <fo ...
- 【JavaEE企业应用实战学习记录】struts配置文件详细解析
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...
- Struts配置文件以Spring的方式实现自定义加载
在使用struts时,我们需要在web.xml中配置过滤器,同时我们需要配置struts的配置文件路径来加载项目中struts的相关配置信息.如果我们不配置路径的话,Struts会有一些默认的加载路径 ...
- Struts的文件上传下载
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...
- Struts相关
使用Struts2流程: 1.导入Struts2类包 2.在Web源代码文件夹中,创建名为struts.xml的配置文件.在其中定义Action对象,其关键代码如下: struts.xml: < ...
随机推荐
- [Codeforces 933A]A Twisty Movement
Description 题库链接 给你一个长度为 \(n\) 的只含有 \(1,2\) 的序列.你可以选择其中的一段 \([l,r]\) ,将区间翻转,翻转后使得单调不下降序列最长.求最长长度. \( ...
- [IOI 2011]Race
Description 给一棵树,每条边有非负权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, 1 <= K <= 1000000 Input 第一行 两个 ...
- [JSOI2007]文本生成器
题目描述 JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文本生成器v6版. 该软件可以随机生成一些文章―――总是生成一篇长度 ...
- (⊙o⊙)…
参考:ACdreamers a > b,GCD(a,b) = 1 => GCD(a^m-b^m,a^n-b^n) = a^GCD(n,m) - b^GCD(n,m) /*没有找到推理过程Q ...
- Amazon新一代云端关系数据库Aurora(上)
本文由 网易云发布. 在2017年5月芝加哥举办的世界顶级数据库会议SIGMOD/PODS上,作为全球最大的公有云服务提供商,Amazon首次系统的总结 了新一代云端关系数据库Aurora的设计实现 ...
- JavaBean实现用户登陆
本文简单讲述使用javabean实现用户登录,包括用户登录,注册和退出等. 系统结构图 2.数据库表 create table P_USER ( id VARCHAR2(50) not n ...
- python day3_liaoxuefeng
1.Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for na ...
- C++内存机制中内存溢出、内存泄露、内存越界和栈溢出的区别和联系
当我们在用C++做底层驱动的时候,经常会遇到内存不足的警告,究其原因,往往是因为内存出现溢出,泄露或者越界等原因.那么他们之间有什么联系吗? 内存溢出(out of memory) 是指程序在申请内存 ...
- c语言第三次作业。
---恢复内容开始--- (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 源代码 : 第一次编译: 错误原因:if 后面有分号 改正方法:去掉分号 ...
- Spring之定时器(QuartzJobBean)的实现
需求:做个分配任务的功能模块,在任务截止前的十五分钟进行提醒(发送邮件.短信.系统提醒).每隔五分钟提醒一次,直到任务完成! 想法:刚开始是想着是不是可以做个监听器,监听截止时间.当时间到了开始进 ...