详解struts1的配置文件

1.<Data-sources>:用来配置数据源,连接数据库。

<data-source>:具体是数据库连接。

Type:type="org.apache.dbcp.BasicDataSource" Struts中连接数据库的类。

<set-property>:此标签中配置具体的链接内容。

如:
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" /> 数据库驱动
<set-property property="url" value="jdbc:mysql://localhost:3306/exam" />
数据库地址。

<set-property property="username" value="root" />
数据库登录名。

<set-property property="password" value="root" />
数据库密码。

<set-property property="autoCommit" value="true" />
自动提交。

<set-property property="maxActive" value="10" />
最大连接数。

<set-property property="maxWait" value="5000" />
最大等待数。

<set-property property="defaultAutoCommit" value="false" />
默认自动提交。

<set-property property="defaultReadOnly" value="false" />
默认为只读。

<set-property property="validationQuery"
value="SELECT COUNT(*) FROM users" />
这里可以不加,不过加了就保证能至少能够返回一条记录。

2.< form-beans> :用来配置多个ActionForm,包含一个或者多个<form-bean>子元素。

每个
<form-bean>子元素里都有很多属性。

Classname:制定<form-bean>配置的类。

Name:制定该ActionForm的唯一标识。

Type:制定该ActionForm的路径,带包名。

<form-property>:指定动态的Form的元。

3.<global-exceptions>:用于配置异常处理,元素可以包含一个或者多个<exception>元
素,用来设置JA V A 异常和异常处理类ExceptionHandler之间
的映射。

className:指定和元素对应的配置类,默认的不用动.
Handler:指定异常处理类,默认是ExceptionHandler.key指定在本地资源文件中异
常的消息。

Key,path:指定当前异常发生的时候转发的路径。

Scope:指定ActionMessages实例存放的范围。

Type:指定需要处理异常类的名字,必须的。

Bundle:指定Resource Bundle。

4. < global-forwards>:用来声明全局转发,元素可以有一个或者多个<forward>元素组成,
用于把一个逻辑名映射到特定的URL,通过这种方法Action类或者
JSP页面无需指定URL,只要指定逻辑名称就可以实现请求转发或者
重定向。

这样可以减少控制组件和视图的聚合。

易于维护。

className:对应的配置类。

contextRelative:如果为true表示当path属性以/开头的时候,给出的是对应的上下
文URL默认是转发路径的逻辑名,必须写.
Path:转发或者重定向的URL,必须写,必须是以/开头。

Redirect:设置为true的时候表示执行重定向操作,此项为false的时候,表示执行请求转发操作。

重定向与请求转发的区别以后就是重定向是把请求生
成应答给客户端然后,再重新发送给定向的URL,浏览器地址栏会有
显示。

而转发就是直接把请求转发给本应用的另一个文件,不生成应
答所以客户端IE没显示。

5. < action-mapping>:包含一个或者多个<action>元素,描述了从特定的请求路径到响应的
Action的映射。

在<action>元素中可以包含多个<exception>和
<forward>子元素,他们分别配置局部异常处理和局部转发。

Attribute:设置Action关联的ActionForm在request或者session范围内的key。

就是在request或者session共享内的名称。

className:对应配置元素的类.默认的是ActionMapping。

Forward:指定转发URL路径。

Include:指定包含URL路径。

Input:指定包含表单的URL,当表单验证失败的时候发送的URL.
Name:指定和该Action关联的Form 名字。

该名字必须是在form-bean中定义过的,可写可不写。

Path:必须/开头的方位Action的路径。

Parameter:指定Action配置参数。

在Action的execute()方法中可以调用ActionMapping的getParameter()方法来读取匹配的参数。

Roles:指定允许调用该Action的安全角色,多个角色之间逗号格开。

Scope:指定Form的存在范围.默认是session.tyep指定Action的完整类名。

Unknown:如果是true表示可以处理用户发出的所有的无效的ActionURL默认是false。

Validate:指定是否调用ActionForm的validate方法。

6.<controller>:用于配置ActionServlet.
buffreSize指定上载文件的输入缓冲大小。

该属性为可选默认4096。

className:指定元素对应的配置类,ControllerConfig。

然后是contentType指定响应结果内容类型和字符编码,该属性为可选,默认是text/html如果在
Action或者JSP网页也设置了类型内容,会覆盖这个。

Locale:指定是否把Locale对象保存到当前用户的session中默认false。

tempDir:指定处理文件上载的临时工作目录。

Nochache:如果是true在响应结果中加入特定的头参数。

7.<message-resources>:用来配置Resource Bundle。

用于存放本地文本消息文件。

className:元素对应的配置类。

MessageResourcesConfig.factory:指定消息的工厂类。

Key:指定文件存放的Servlet对象中采用的属性。

Key.null:指定如何处理未知消息。

Parameter:指定消息的文件名。

8.<plug-in>:用于配置Struts插件。

PS:
配置多应用模块:所有的子应用都可以共享同一个ActionServlet实例,但是每个子应用都有单独的配置文件。

把应用划分为多个子应用模块。

首先为每个应用创建单独的Struts 配置文件,在web.xml的ActionServlet配置代码中添加几个子应用信息。

采用<forward>元素来实现应用之间的切换。

合集下载

struts1工作流程

struts1工作流程

对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中。

(struts的配置文件struts-config.xml:一个用户请求是通过ActionServlet来处理和转发的。

那么,ActionServlet如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息了。

在Struts中,这些配置映射信息都存放在特定的XML文件struts-config.xml中。

在该配置文件中,每一个Action的映射信息都通过一个<action>元素来配置。

这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用。

在内存中,每一个<Action>元素都对应一个org.apache.struts.aciton.ActionMapping的实例)用户通过客户端向服务器发出一个请求,而我们已经在web.xml配置了所有符合某某格式的请求都将由指定的Servlet来处理。

比如说:只要是以.do结尾的请求(*.do)都由org.apache.struts.action.ActionServlet来对其进行处理。

而ActionServlet和ActionMapping都已经在服务器启动的时候被加载到内存里面。

结合登录例子:当用户登录时,地址栏的URL为:http://localhost:8080/struts_login/login.do ActionServlet会拿到用户的请求,并且去分析这个URL,它会截下/login(不包含.do)这一部分,截来之后,它的目的是为了去struts-config.xml这个配置文件里面找<action>标签path属性的值等于所截部分的那个Action。

Struts配置文件详细讲解(课件参考)

Struts配置文件详细讲解(课件参考)

Struts配置文件详解(技术专题内容)一、与Struts相关配置文件Struts应用采用两个基于XML的配置文件来配置,分别是web.xml和struts-cofig.xml文件。

web.xml文件是配置所有web应用的,struts- config.xml文件是struts专用的配置文件,这个配置文件也是可以起其它名称。

二、 Web应用的发布描述文件之为Struts应用配置的内容web应用发布描述文件可以在应用开发者、发布者和组装者之间传递配置信息。

Web容器在启动的时候从该文件中读取配置信息,根据它来装载和配置web应用。

1、<servlet>元素内容<web-app>元素是web.xml的根元素,其他元素必须嵌入在<web-app>元素之内。

要注意的是子元素也是有顺序的。

若项目应用了Struts框架应用,在web.xml文件里最重要的一步是配置ActionServlet,这个用<servlet>元素的servlet-name属性命一个名字叫action;然后用servlet-class属性指定ActionServlet的类。

Servlet是多线程的,而且目前Struts只允许配置一个ActionServlet。

声明ActionServlet的初始化参数:<servlet>元素的<init-param>子元素用来配置Servlet的初始化参数。

param-name设置config参数名;param-value设置struts-config.xml的路径参数值。

2、<servlet-mapping>元素内容在<servlet-mapping>元素的servlet-name属性指定action;在用url-pattern指定接收范围是*.do的请求。

3、 <welcome-file-list>元素内容(配置欢迎使用清单)访问了web应用的根目录URL,没有给具体的指定文件。

struts1配置文件action

struts1配置文件action
1.Attribute:设置action关联的actionForm在request或session范围内的值。就是在request或session共享内的名称。
2.ClassName:对应配置元素的类,默认是ActionMapping。
3.Forward:制定转发URL路径。
4.Include:制定包含URL路径。
13.type:指定Action类的完整类名。
fo。
9.Roles:指定允许调用该Action的安全角色,多个角色之间以逗号隔开。
10.Scope:指定Form的存在范围,默认是session.type指定的Action的完整名。
11.Unkonwn:如果是true表示可以处理用户发出的所有的无效的ActionURL,默认是false。
12.Validate:指定是否调用ActionForm的validate方法。
5.Input:制定包含表单的URL,当表单验证失败时发送的URL。
:指定和该Action关联的Form名字。改名字必须是在form-bean中定义过的,可写可不写。
7.Path:必须以“/”开头的方位Action的路径。
8.Parameter:指定Action配置参数。在Action的execute()方法中可以调用ActionMapping的getParameter()方法来读取匹配的参数。

【Struts】Struts框架配置详解

【Struts】Struts框架配置详解

【Struts】Struts框架配置详解1.⾸先将所必须的Jar包放到项⽬的WebRoot/WEB-INF/lib⽬录下。

如果你没有这些Jar⽂件,你可以到Struts官⽹上下载:/。

因为经常会⽤到这些Jar包,因此我将Struts所需的Jar包进⾏了整理,你可以点击这⾥下载。

Struts所需Jar包下载:密码:jb2m如果你想了解更多关于以上列出的Jar包的信息,你可以阅读我的另⼀篇⽂章:(MARK)2.在web.xml中加⼊如下的Struts配置信息1<!-- Struts框架的配置开始 -->2<filter>3<filter-name>struts2</filter-name>4<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>5</filter>6<filter-mapping>7<filter-name>struts2</filter-name>8<url-pattern>/*</url-pattern>9</filter-mapping>10<!-- Struts框架的配置结束 -->3.在src⽬录下创建struts.xml⽂件1<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "/dtds/struts-2.0.dtd"> 2<struts>3<package name="default" namespace="/" extends="struts-default">4<action name="AS_sayHello" class="com.basestruts.action.AS_SayHelloAction"5 method="execute">6<result name="success">/result.jsp</result>7<result name="input">/index.jsp</result>8</action>910<action name="MD_sayHello" class="com.basestruts.action.MD_SayHelloAction"11 method="execute">12<result name="success">/result.jsp</result>13<result name="input">/index.jsp</result>14</action>15</package>16</struts>主要属性说明:<package> --name:⽤于区别不同的package;必须是唯⼀的、可⽤的变量名;<package> --namespace:空间名,不同功能的代码放在不同的空间⾥,使得配置⽂件层次更加清晰。

struts1 详解

struts1 详解

01struts基础J2EE1.4ServletJspJDBCJTA(Java Transaction API)JPA(Java persistence API)---EJBJavaMailJSTLEJBJNDIModel_1的执行流程Mode2_2的执行流程Struts框架的版本Struts充当表现层的作用。

Struts框架的核心组件ActionServlet总控制器。

核心组件,用于将具体的请求分配到各自处理的Action组件中。

Action具体的业务处理过程组件ActionFrom(FormBean)获取表单参数,并将参数封装到Bean中。

ActionForward用来Action的请求转发ActionMapping帮助控制器[ActionServlet]将请求映射到操作类[Action]Struts-config.xml用来配置Stuts组件的关联关系。

Struts框架的工作流程Struts-config.xml<form-bean name="loginForm" type="com.softfz.login.LoginForm" />name:用来表示actionform的名称type:用来表示actionform的类路径<actionattribute="loginForm" name="loginForm"path="/loginAction" scope="request"type="com.softfz.login.LoginActionAction" validate="true"input="/index.jsp" />attribute:表示ActionFrom的实例放到作用域中的名称.LoginForm aa = new LoginForm();aa.setUsername(request.getParameter("username"));aa.setPassword(request.getParameter("password"));request.setAttribute("attribute的值",aa);name:表示Action和ActionFrom关联的名称。

Struts1学习文档

Struts1学习文档

什么是框架?(Framework)框架是软件的半成品。

用来解决以下几个问题:1、设计模式问题——struts实现了MVC—Model2模式2、代码重用*****************************************************一、Struts框架属于哪层技术?主要解决什么问题?(1).Struts属于WEB层技术,主要用于替代Servlet。

(2).Struts主要用来解决一下几个问题:1、获取用户提交的数据2、对数据进行校验3、国际化的处理4、跳转5、转发与重定向6、页面的数据展示****************************************************二、Struts1框架由哪些部分组成?1.jar包(在lib中)2.一批文件(包括:struts-config.xml,tld文件-标签描述文件,validator-roles.xml 验证框架的配置文件),Struts1.3以后tld文件被添加入了jar包中****************************************************三、如何用IDE工具在项目中加入Struts框架?在向导中设置:Struts config path:配置config文件路径:默认:/WEB-INF/struts-config.xmlStruts specification:选Struts版本信息ActionServlet name:为actionURL pattern:为主控制器设置过滤哪些资源Base package for new classes:为(国际化?)资源文件创建包Default application resources:创建全局的资源文件默认名字:com.yourcompany.ApplicationResources.可以更改****************************************************四、Struts1的主控制器是什么?作用是什么?如何配置?Struts1的主控制器是个自启动的Servlet,他的配置如下:在项目的WEB-INF中的web.xml文件中:<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param> <!--为主控制器设置启动参数,加载配置文件,并对其进行解析 --><param-name>config</param-name> <!--当需要多个配置文件时,在多个文件中间用逗号隔开 --><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>debug</param-name><param-value>3</param-value></init-param><init-param><param-name>detail</param-name><param-value>3</param-value></init-param><load-on-startup>0</load-on-startup> <!--该主控制器设置为自启动,参数表示启动级别最高。

struts1工作原理

struts1工作原理Struts1工作原理1. 什么是Struts1Struts1是一个开源的Java Web应用框架,用于开发MVC (Model-View-Controller)模式的Web应用程序。

它提供了一种结构化的方式来组织、管理和处理Web应用程序的请求和响应。

2. MVC模式简介什么是MVC模式MVC模式是一种软件设计模式,用于将一个应用程序的逻辑分为三个独立的部分:模型(Model)、视图(View)和控制器(Controller)。

每个部分都有不同的职责,有助于实现应用程序的解耦和可重用性。

MVC模式在Struts1中的应用在Struts1中,模型(Model)负责处理业务逻辑和数据,视图(View)负责表示用户界面,而控制器(Controller)负责协调模型和视图之间的交互。

3. Struts1的工作原理Struts1的工作原理可以分为以下几个步骤:配置Struts1环境首先,需要在Web应用程序的配置文件中配置Struts1环境。

通常使用一个名为``的文件来定义应用程序的相关设置,例如控制器的映射和配置文件路径等。

客户端发送请求当客户端发送一个请求时,请求会被发送到Web服务器。

通常,请求的URL中会包含一个特定的后缀,用于指示该请求需要由Struts1来处理。

Struts1的Front Controller接收请求Struts1的Front Controller是一个核心组件,它负责接收所有的请求。

当一个请求到达时,Front Controller会根据配置文件中的映射规则,将请求路由到相应的Action。

Action处理请求一旦请求被路由到相应的Action,Action就会开始处理该请求。

它会根据请求的参数和业务逻辑的需要,执行相应的操作。

例如,从数据库中获取数据、处理用户输入、调用其他模块等。

Action返回结果一旦Action完成了请求的处理,它会生成一个结果对象并将其返回给Struts1的Front Controller。

struts1配置解释

struts1自定义方法及struts1 Action 配置 2012-06-20 09:52:15| 分类:J2EE |举报|字号订阅 Action 继承 DispatchAction public class UserAction extends DispatchAction{ private UserBO bo = newUserBOImpl() ; public ActionForward add(ActionMappingmapping,ActionForm form,HttpServletRequestrequest,HttpServletResponse response){ UserForm ff =(UserForm)form; UserModel model = new UserModel();try{ BeanUtils.copyProperties(model, ff) ; }catch(Exceptione){ e.printStackTrace() ; } bo.addUserModel(model) ; ff.reset(mapping, request) ; return mapping.findForward("search") ; } public ActionForward update(ActionMapping mapping,ActionFormform,HttpServletRequest request,HttpServletResponseresponse){ UserForm ff =(UserForm)form; UserModel model = new UserModel(); try{ BeanUtils.copyProperties(model,ff) ; }catch(Exception e){ e.printStackTrace() ; }bo.updateUserModel(model) ; return mapping.findForward("search") ; } } 在提交页面添加隐藏域当提交到上面的 action 当中后他就自动去找 add 这个方法执行了还有必须在mxl 当中配置 parameter="method" 这个属性在struts-config.xml里的就可以了 form 里 action.do?method=xxx 就可以了!struts1 Action 配置 action元素的所有配置会被映射到ActionMapping对象中。

第十一章 struts1


如果ActionForm的作用范围为session,则ActionForm的 实例对象将被保存在session中,在整个HTTP会话中都会有 效。
一般如果需要在多个页面之间共享某个ActionForm实例, 则设置该ActionForm的scope属性为session,否则设置为 request。
Strusts-config.xml
Update HTTP Response
View JSP
Get <Tag>
Model Application State
数据库
11.1.3 Struts的组件
Struts的4个核心组件: ➢ActionServlet ➢Action ➢ActionMapping(包含ActionForward) ➢ActionForm
<action>元素和ActionMapping类对应 <foward>元素和ActionFoward类相对应
➢当Struts应用启动时,配置信息就会以 org.apache.struts.config包中相应类的实例形式存放在内 存中。
➢Struts组件就是通过访问这些类的实例来获取配置信息。
① <struts-config>元素
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> </servlet>
<servlet-mapping> <servlet-name>action</servlet-name> <url-pattern> *.do </url-pattern> </servlet-mapping>

Java学习大全 之Struts1

Java学习大全之Struts11、struts1是轻量级框架,设计思想是MVC。

SSH混用框架中struts1担任视图层。

action为单实例的,线程需要同步。

2、MVC是指模型视图控制器。

3、struts1流程:browser -request-> ActionServlet(根据struts-config.xml配置文件找到action与model层交互) -forward-> jsp -response-> browser4、ActionServlet类:用来控制导航action的。

根据url来决定哪个action被处理。

5、struts1配置文件struts-config.xml需要在WEB-INF目录下的。

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "/dtds/struts-config_1_2.dtd"> <struts-config><!--连接数据库级连接池配置,不需要时候可以不写--><data-sources><data-source type="mons.dbcp.BasicDataSource"><set-property property="driverClassName" value="org.postgresql.Driver" /><set-property property="url" value="jdbc:postgresql://localhost/mydatabase" /><set-property property="username" value="me" /><set-property property="password" value="test" /><set-property property="maxActive" value="10" /><set-property property="maxWait" value="5000" /><set-property property="defaultAutoCommit" value="false" /><set-property property="defaultReadOnly" value="false" /><set-property property="validationQuery" value="SELECT COUNT(*) FROM market" /></data-source></data-sources><form-beans><!--表示表单映射,子元素为form-bean--></form-beans><!--不需要时候可以不写--><global-exceptions><!--全局异常,子元素为exception--></global-exceptions><!--不需要时候可以不写--><global-forwards><!--全局异常处理去向,子元素为forward--></global-forwards><action-mappings><!--表示请求映射,子元素为action--></action-mappings><message-resources parameter="com.ApplicationResources" /></struts-config>6、使用流程一、web.xml的配置<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <!--初始化参数,可以不写,如果不写则加载默认名字的xml文件--> <init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value> </init-param><!--启动服务就实例化ActionServlet,可以不用写--><load-on-startup>2</load-on-startup></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>二、写一个action类继承Action抽象类三、写一个actionForm类继承ActionForm抽象类四、在struts-config.xml配置文件添加bean和action7、不使用数据源的例子登录页面index.jsp<body><form action="login.do" method="post">用户名:<input name="username" type="text" /><br/>密码:<input name="password" type="password"/><br/>登录:<input type="submit" value="提交"/></form></body>成功页面success.jsp<body>success跳转<br/>用户名:${ername}<br/>密码:${param.password}<br/></body>LoginForm.java类public class LoginForm extends ActionForm {private String username;//用户名private String password;//密码public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}LoginAction.java类public class LoginAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm lf = (LoginForm) form;System.out.println(lf.getUsername());//后台打印用户输入的用户名System.out.println(lf.getPassword());//后台打印用户输入的密码return mapping.findForward("success");//表示去映射里找到本action的名字为success的forward获得去向,然后跳转。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档