struts配置

合集下载

struts-config.xml配置说明

struts-config.xml配置说明

Struts-config.xml配置文件讲解(一)2007/05/11 11:06Struts的核心是struts-config.xml配置文件,在这个文件里描述了所有的Struts组件。

在这里包括配置主要的组件及次要的组件,下面是struts-config.xml包含主要元素的内容:一、 struts-config.xml的主要元素:<?xml version=”1.0” encoding=”ISO-8859-1”?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN""/struts/dtds/struts-config_1_1.dtd"><struts-config><data-sources><data-source></data-source></data-sources><form-beans><form-bean / ></form-beans><global-forwards><forward / ></global-forwards><action-mappings><action / ></action-mappings><controller / ><message-resources / ><plug-in /></struts-config>注意:以上各元素的顺序是非常重要的,你的struts-config.xml配置文件必须按照这个顺序进行配置,否则在你的容器启动的时候就会出错。

struts使用技巧

struts使用技巧

struts使用技巧Struts是一种Java Web应用程序框架,被广泛用于开发MVC (模型-视图-控制器)架构的Web应用程序。

它提供了在Web应用程序中使用的一组工具、类和方法,以简化开发过程。

下面是一些使用Struts的技巧:1. 使用Struts的配置文件:Struts使用一个XML配置文件来定义Web应用程序的行为和流程控制。

配置文件中定义了应用程序中的所有操作、控制器和视图之间的关系。

了解如何正确配置Struts的配置文件可以帮助开发人员更好地组织和管理应用程序。

2. 使用合适的Action类和方法:在Struts中,Action类是控制器的一部分,负责处理请求并将数据传递给视图。

了解不同类型的Action类和方法,以及它们的作用和用法,可以更好地设计和编写应用程序的控制器部分。

3. 使用合适的验证和校验:Struts提供了一组验证和校验的工具和类,可以用于验证用户输入的数据。

了解如何正确使用这些工具和类可以帮助开发人员有效地验证表单数据,并及时地反馈给用户。

4. 使用合适的模型:在Struts中,模型是应用程序的数据和业务逻辑部分。

了解如何正确使用模型可以帮助开发人员更好地组织和管理应用程序的数据和业务逻辑。

5. 使用合适的视图:在Struts中,视图负责展示数据给用户。

了解如何正确使用视图可以帮助开发人员设计和编写用户友好的界面。

6. 使用合适的标签库和EL表达式:Struts提供了一组标签库和EL表达式,可以用于更方便地处理和展示数据。

了解如何正确使用这些标签库和EL表达式可以帮助开发人员更好地展示和处理数据。

7. 使用合适的异常处理机制:在Struts中,异常处理是一个重要的部分,负责处理应用程序中可能出现的异常情况。

了解如何正确使用异常处理机制可以帮助开发人员更好地处理异常,提高应用程序的稳定性。

总之,以上是一些使用Struts的技巧。

熟练掌握这些技巧可以帮助开发人员更好地开发和管理Struts应用程序。

Struts2文件配置介绍

Struts2文件配置介绍

Struts2⽂件配置介绍Struts2⽂件配置介绍struts2structs.xml⽂件配置标签package标签<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><!-- 配置post请求以及repsone的编码格式 --><constant name="struts.i18n.encoding"value="UTF-8"></constant><!-- 配置请求路径的扩展名 --><constant name="struts.action.extension"value="action,,"></constant><!-- 开启热部署 --><constant name="struts.devMode"value="true"></constant><package name="index"namespace="/"extends="struts-default"><action name=""class="erAction"method="toLogin"><result name="toLogin">/WEB-INF/view/login.jsp</result></action></package><include file="com/forward/test/web/action/struts.xml"></include></struts>配置web应⽤的不同模块,⼀般在⼀个功能模块下配置⼀个package,在当前的package下配置这个模块的多个action name属性给不同的模块起不同的名字,随便写,不重复即可namespace属性给不同的模块设置访问的根路径,可以配置成/extends属性表⽰继承, struts-default 是struts2给我们提供的⼀个packageaction标签action 标签表⽰配置⼀个请求name 属性表⽰请求路径的后缀,⼀般表⽰功能模块中的具体请求,name的名字就代表访问路径的名称class 属性表⽰当有请求过来的时候调⽤的是哪个类中的⽅法,配置全类名method 表⽰class 请求调⽤的是class 中的哪个⽅法,指的是具体的⽅法名result标签result 结果配置,⽤于设置不同的⽅法返回值,可以配置不同的返回值对应不同的视图name 属性表⽰结果处理名称,与action中的返回值对应type 属性表⽰指定哪个result 类来处理显⽰的页⾯,默认是内部转发,可以在struts-default 的⽂件中进⾏查看标签体表⽰相对路径,相对于web应⽤开始常量配置默认的常量配置在structs核⼼包中修改常量配置⽅式及加载顺序对于常量的配置, 默认加载的是structs核⼼包中的default.properties,如果通过以下3种进⾏配置,就会按照默认–>1–>2–>3 的顺序加载,后⾯设置的常量会覆盖之前设置的常量1. 在structs.xml⽂件中,在structs的根标签下,书写constant 标签进⾏配置,在项⽬中主要使⽤这种⽅式2. 在src下创建structs.properties⽂件,将内容复制到此⽂件进⾏修改3. 在web.xml⽂件中,配置context-param 第⼀种⽅式第⼆种⽅式第三种⽅式常⽤常量设置struts.i18n.encoding=UTF-8 ⽤于配置接收参数和向外输出中⽂的编码格式⼀般设置为UTF-8struts.action.extension=action, 指定访问action的路径的后缀名,使⽤, 表⽰可以有两个后缀名,可以是action也可以是没有后缀名struts.devMode = false 指定structs是否是以开发模式运⾏,能够⽀持修改配置⽂件后进⾏热部署,所以我们可以将其设置为true动态⽅法调⽤如果⼀个业务模块有多个⽅法,我们可以使⽤动态⽅法调⽤省略action的配置,设置动态⽅法调⽤有两种⽅法⽅法⼀开启动态⽅法调⽤<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>配置action的时候不写method在访问的时候输⼊⽹址http://localhost:8080/webapp/namespace/name!method ⽅法⼆ 通配符⽅式关闭动态⽅法调⽤对于⽅法名可以使⽤⼀个* 通配符,在后⾯的class和method可以使⽤{索引} 来读取前⾯的内容访问路径localhost:8080/webapp/namespace/class_methodstructs2中的默认配置<constant name ="struts.enable.DynamicMethodInvocation" value ="true"></constant><package name ="helloWorld" namespace ="/User" extends ="struts-default"><action name ="d_" class ="com.zhiyou100.struts.web.action.demo3.Demo3Action" ><result name ="success">/hello World.jsp </result></action> </package><package name ="demo3" namespace ="/User" extends ="struts-default"><action name ="*_*" class ="com.zhiyou100.struts.web.action.demo3.{1}" method ="{2}"><result name ="success">/helloWorld.jsp </result></action></package>method的默认值executeresult的默认值是successresult的type的默认值是dispatcherclass的默认值是ActionSupport 其中有execute ⽅法返回值是success配置package下的默认的action,当访问当前包下,如果找不到指定action,就会⾃动寻找默认的action <package name="default"namespace="/user"extends="struts-default"><default-action-ref name="demoAction"></default-action-ref><action name="demoAction"class="erAction"><result>/WEB-INF/view/404.jsp</result></action></package>结果跳转的⽅式结果的跳转⽅式可以通过result的type属性进⾏设置转发转发到指定页⾯对于type属性,默认是dispatcher ,就是转发到响应界⾯,可以不⽤进⾏配置转发到指定action对于type属性需要设置为chain ,并在其下⽅配置<param> 标签<result name="error"type="chain"><param name="namespace">/</param><param name="actionName"></param></result>重定向重定向到指定界⾯对于type属性,设置为redirect ,就是重定向到界⾯,如果需要进⾏重定向就必须进⾏此处的设置<result name="error"type="redirectAction"><param name="namespace">/</param><param name="actionName"></param></result>。

Web.xml中配置Struts

Web.xml中配置Struts

Web.xml中配置Struts1:1.配置Struts的ActionServlet<servlet>元素来声明ActionServlet<servlet-name>元素:用来定义Servlet的名称<servlet-class>元素:用来指定Servlet的完整类名Eg:<servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class></servlet>还要配置<servlet-mapping>元素,它用来指定ActionServlet可以处理哪些URL<servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>注意:(1)<servlet-mapping>和<servlet>中的<servlet-name>?</servlet-name>的要填写一致,它就是一根线,把<servlet-mapping>和<servlet>联接在一起的。

(2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。

而<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>中的ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。

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 设置UTF-8

struts 设置UTF-8
你好,这问题我遇到过,如果你确定你的Struts端和JSP端都统一设置成UTF-8的话,那么你这么做。
以下解决方法不分顺序,按照自己的配置对比.
1 struts2配置
struts2在配置struts.properties文件中加上struts.i18n.encoding=UTF-8 或者在struts.xml里加上<constant name="struts.i18n.encoding" value="UTF-8" />
3 页面
每个页面上加上<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> 这样在jsp页面里,注意在jsp文件上点右键,编码方式为UTF-8时,才正确,这点很重要。
Hale Waihona Puke 4 jdbc连接 设置characterencoding为UTF-8 如jdbc.mysql.url=jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF8
2 数据库
2.1 mysql的表的编码方式,其DDL应该为: ENGINE=InnoDB DEFAULT CHARSET=utf8; 可以使用show create table tbname查看.
2.2 安装mysql数据库时就应该以utf8编码默认安装查看mysql数据库默认编码方式可以在其目录下my.ini文件中找到mysql和mysqld下default-character-set值为utf8或者在mysql数据库命令行下以"\s;"查看.

struts.xml配置详解

struts.xml配置详解

struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件。

分别介绍一下几个struts.xml中常用到的标签1、<include>利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml 中使用<include>标签引入其他配置文件。

比如一个网上购物程序,可以把用户配置、商品配置、订单配置分别放在3个配置文件user.xml、goods.xml和order.xml中,然后在struts.xml中将这3个配置文件引入:struts.xml:01<?xml version="1.0"encoding="UTF-8"?>02<!DOCTYPE struts PUBLIC03"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 04"/dtds/struts-2.0.dtd">0506<struts >07<include file="user.xml"/> 08<include file="goods.xml"/> 09<include file="order.xml"/>10</struts >user.xml:01<?xml version="1.0"encoding="UTF-8"?>02<!DOCTYPE struts PUBLIC03"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 04"/dtds/struts-2.0.dtd">0506<struts >07<package name="wwfy"extends="struts-default">08<action name="login"class="er.LoginAction"> 09<!--省略Action其他配置-->10</action>11<action name="logout"class="er.LogoutAction"> 12<!--省略Action其他配置-->13</action>14</package>15</struts >2、<constant>在之前提到struts.properties配置文件的介绍中,我们曾经提到所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。

详解struts1的配置文件

详解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" />默认自动提交。

Struts2的配置文件详解

Struts2的配置文件详解
Struts2的命名空间的作用等同于struts1里模块的作用。
1.3.包含配置:
在Struts2中可以将一个配置文件分解成多个配置文件,那么我们必须在struts.xml中包含其他配置文件。
<struts>
<includefile="struts-default.xml"/>
<includefile="struts-user.xml"/>
erName= userName;
}
/**
*@returnthepassword
*/
publicString getPassword() {
returnpassword;
}
/**
*@parampasswordthepasswordtoset
*/
publicvoidsetPassword(String password) {
</action>
</package>
</struts>
如上示例的配置,配置了一个名为default的包,该包下定义了一个Action。
1.2.命名空间配置:
考虑到同一个Web应用中需要同名的Action,Struts2以命名空间的方式来管理Action,同一个命名空间不能有同名的Action。
Struts2通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。
l public Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。
l public void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名-属性值对。

01、struts2(Struts2开发入门 、常用配置、参数传递) - 副本

01、struts2(Struts2开发入门 、常用配置、参数传递) - 副本

1. Struts2简介1.1. 什么是Struts21.1.1. Struts2的概念Struts2是轻量级的MVC框架,它主要解决了请求分发的问题,重心在于控制层和表现层。

轻量级,指的是Struts2具有较低的侵入性,就是它对我们业务代码的依赖程度很低,简单来说,在使用Struts2框架时,我们的业务代码中基本上不需要import它的包。

Struts2实现了MVC,满足了MVC设计思想。

在我们使用Struts2做开发的时候,就相当于使用了MVC,这是Struts2自动帮助我们实现的,是默认的、隐含的,我们不需要再写特别的代码来实现MVC了。

作为一个框架,Struts2提供了一系列的API,我们可以使用它们来简化代码的编写,从而提升开发效率。

这些API复用程度很高,对业务代码的依赖性也很小,甚至很多是Struts2自动调用的,因此在很大程度上,我们的开发变得可以复用。

Struts2解决请求分发的问题,我们会在后面为什么使用Struts2中讲解。

重心在控制层和表现层,是纵观整个Struts2理论课程来看的,从中我们会体会到这一点,随着大家对Struts2的逐步了解,届时我们再回顾这一点。

1.1.2. 什么是MVCMVC是代码的分层思想,是软件设计领域经典的设计模式。

它根据代码功能的不同,将一个软件的代码分为3部分,即模型、视图、控制器,这3部分代码的含义和功能如下。

1、M-Model 模型模型(Model)的职责是负责业务逻辑。

包含两层:业务数据和业务处理逻辑。

比如实体类、DAO、Service都属于模型层。

2、V-View 视图视图(View)的职责是负责显示界面和用户交互(收集用户信息)。

属于视图的组件是不包含业务逻辑和控制逻辑的JSP。

3、C-Controller 控制器控制器是模型层M和视图层V之间的桥梁,用于控制流程。

比如:在Servlet项目中的单一控制器ActionServlet。

struts2国际化配置

struts2国际化配置

前提条件:strut2的必须架包已经引入,struts2的配置文件全部配置完成1.首先创建一个struts.properties在src目录下,服务器启动时候会自动加载该文件,在这个文件中写入struts.custom.i18n.resources=globalMessages,服务器会自动选择前缀为globalMessages资源文件。

(或者你在你的struts.xml文件中添加<constant name="struts.custom.i18n.resources"value="globalMessages"></constant>服务器加载struts.xml的时候会加载国际化资源文件);2.在src目录下创建资源文件英文globalMessages_en.properties 中文globalMessages_zh.properties。

globalMessages_en.properties 文件内容为home=homeglobalMessages_zh.properties文件内容为home=¥u9996¥u98753.在页面端获得资源文件信息。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'test.jsp' starting page</title></head><body><s:text name="home"></s:text></body></html>struts2的国际化分三种情况1.前台页面的国际化,2.Action类中的国际化,3.配置文件的国际化。

struts2配置文件详解

struts2配置文件详解
"/dtds/struts-2.0.dtd">
<struts>
<!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 标准的UI主题,默认的UI主题为xhtml,可以为simple,xhtml或ajax -->
<cosntant name="struts.ui.theme" value="xhtml" />
<!-- spring 托管 -->
<constant name="struts.objectFactory" value="spring" />
<!--
指定加载struts2配置文件管理器,默认为org.apache.struts2.config.DefaultConfiguration
<!-- 设置默认的locale和字符编码 -->
<constant name="struts.locale" value="zh_CN" />
<constant name="struts.i18n.encoding" value="GBK" />
<!-- 该属性指定Struts 2文件上传中整个请求内容允许的最大字节数 -->

myeclipse和struts配置使用

myeclipse和struts配置使用

一、安装jdk1.5二、在计算机上创建一个文件夹用于保存自己将来的工程代码,比如在D盘上创建一个文件夹并命名为myProject三、安装tomcat5.0四、设置环境变量(1)JA V A_HOME=jdk1.5的安装路径(例如jdk1.5安装在d:\jdk1.5则JA V A_HOME=D:\JDK1.5)(2)CATALINA_HOME=tomcat安装路径(例如,tomcat5安装在d:\tomcat5则CATALINA_HOME=D:\TOMCAT5)(3)CLASSPATH=.;(jdk1.5安装路径)\lib\tools.jar;(jdk1.5安装路径)\lib\dt.jar;(tomcat 安装路径)\common\lib\servlet-api.jar;(你的工程文件路径)注意:classpath中当前路径.一定得有,其次tomcat安装路径\common\lib\servlet-api.jar必须有,没有它jsp运行不了,具体设置时到这个文件夹中看一下,文件名有可能稍有不同,但文件名头几个字母一定是servlet,以你实际名称为准五、安装myeclipse六、启动MyEclipse,并利用它创建struts项目(1)设置tomcat在myeclipse菜单栏中选window菜单中的preferences命令后,在弹出的窗口中左侧有一个名为myeclipse选项,单击它展开,展开后再单击Application Server展开它,其中有一个tomcat项,展开它选中tomcat5.x,这时在右边窗口中单击enable单选按钮,然后将tomcat home directory和tomcat base directory分别设置成你的tomcat安装路径,例如d:\tomcat5,将tomcat temp directory设成tomcat安装路径\temp,设置完后点击ok按钮确定.(2)新建struts项目File✂new✂project✂web project创建一个项目,项目名随便起,例如起个名为strutsTest.创建完项目后添加struts框架包,右击项目名在弹出的菜单中选择myeclipse后单击Add Struts Capabilities,在弹出的窗口中单击struts1.2单选按钮(其它默认)后,点击完成按钮完成添加.(3)在tomcat中发布此项目右击项目名,在弹出的菜单中选择myeclipse后单击Add and Remove Project Deployments后,在弹出的窗口中的Project下拉列表框中选择你创建的项目名,然后单击Add按钮,在弹出的窗口中选择tomcat5后单击完成按钮回到上一个窗口,单击完成按钮.(4)创建一个action文件夹和一个java文件展开项目名(strutsTest),下面有一个名为com.yourcompany.struts的包名,右击它在弹出的菜单中选择new再选择folder,创建一个名为action的文件夹(都是小写字母)右击action文件夹在弹出菜单中选择new再选择file,在弹出的窗口中输入文件名StrutsTestAction.java(java是区分大小写的,一定注意),文件内容如下所示: package com.yourcompany.struts.action;import javax.servlet.http.*;import org.apache.struts.action.*;import org.apache.struts.actions.DispatchAction;import java.sql.*;public class StrutsTestAction extends DispatchAction{public ActionForward execute(ActionMapping mapping,ActionForm frm,HttpServletRequest req,HttpServletResponse res) throws Exception {return mapping.findForward("success");}}(5)创建两个jsp文件按照上面创建文件的方式,在项目名下的WebRoot文件夹下创建一个test.jsp文件,文件内容如下所示:<%@ page language="java" contentType="text/html;charset=GBK"%><%String path = request.getContextPath();%><html><head><title>测试</title><script language="javascript">function testStruts(){document.EAPForm.action ="<%=path%>/StrutsTestAction.do";document.EAPForm.submit();}</script></head><body><form name="EAPForm" id="EAPForm" method="post"action="/strutsTest/StrutsTestAction.do"><input type="hidden" name="method" id="method" value=""> <table><tr><td>用户名:</td><td><input type="text" name="userName"id="userName" value=""></td></tr><tr><td>密码:</td><td><input type="text" name="userPassWord"id="userPassWord" value=""></td></tr><tr><td><input type="button" name="aa" id="aa" value="提交" onclick="testStruts()"></td></tr></table></form></body></html>再创建一个名为success.jsp的文件,文件的内容如下所示:<%@ page language="java" contentType="text/html;charset=GBK"%><html><body>登录成功! <br></body></html>(6)修改strutsTest\WebRoot\WEB-INF\web.xml,内容如下所示(事实上这个文件暂时不用修改,但是记住以后真正做项目时需要修改,这个文件是配置web 应用的必需要配置的文件):<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance" version="2.4"xsi:schemaLocation="/xml/ns/j2ee /xml/ns/j2ee/web-app_2_4.xsd"><servlet><servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</se rvlet-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></servlet><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>(7) 修改strutsTest\WebRoot\WEB-INF\struts-config.xml文件(这个文件是配置struts所必须配置的文件),文件内容如下所示:<?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 /><form-beans /><global-exceptions /><global-forwards /><action-mappings><action type ="com.yourcompany.struts.action.StrutsTestAction"parameter="method" path="/StrutsTestAction" scope="request" ><forward name="success" path="/success.jsp"/> </action><message-resourcesparameter="com.yourcompany.struts.ApplicationResources" /> </struts-config>七、启动tomcat按照下图图示启动tomcat八、打开IE,在地址栏中输入http://localhost/strutsTest/test.jsp,如下图所示:点击提交按钮,如果出现success.jsp页面,即显示有登录成功字样的页面,表示你的struts已经配置好了。

struts框架详细介绍

struts框架详细介绍

struts框架详细介绍Struts是一个开源的Java Web应用程序开发框架,可以帮助开发者构建可扩展的、高性能的Web应用程序。

它遵循了Model-View-Controller(MVC)设计模式,通过将业务逻辑、表示逻辑和用户交互进行分离,使得应用程序更易于开发、测试和维护。

下面是关于Struts框架的详细介绍。

1.MVC设计模式:Struts采用了MVC设计模式,将应用程序的不同组成部分进行分离。

- Model层负责处理数据和业务逻辑。

在Struts中,开发者可以使用JavaBean、EJB、Hibernate等技术作为Model层的实现。

- View层负责展示数据和用户界面。

Struts提供了JSP(JavaServer Pages)作为主要的View技术,也可以使用Velocity、Freemarker等模板引擎。

- Controller层负责接收用户请求、处理业务逻辑以及将结果返回给View层。

Struts的Controller层使用ActionServlet来处理请求,它根据配置文件中的映射规则将请求转发给合适的Action类进行处理。

2.核心组件:Struts由以下几个核心组件组成:- ActionServlet:负责接收和处理来自客户端的请求,并根据配置文件中的映射规则将请求转发给合适的Action类进行处理。

- Action类:实现了业务逻辑的处理,接收请求和返回结果。

开发者需要继承Action类,并覆写其中的execute(方法来实现自定义的业务逻辑。

- ActionForm:用于封装请求参数并传递给Action类进行处理。

ActionForm可以与表单元素进行绑定,从而方便地获取和验证用户输入。

- ActionMapping:配置文件中的一项规则,用于将请求URL映射到具体的Action类和方法。

- ActionForward:配置文件中的一项规则,用于指定请求处理完成后需要跳转到的页面。

Struts教程

Struts教程

Struts教程本教程将介绍Struts的基本概念和核心组件,以及如何使用Struts开发Web应用程序。

一、Struts概述1. 模型(Model):模型表示应用程序的数据和业务逻辑。

在Struts中,模型通常由Java类组成,用于处理数据操作和业务逻辑的实现。

2. 视图(View):视图是用户界面的呈现,通常是JSP(JavaServer Pages)文件。

它负责将数据呈现给用户,并处理用户输入。

3. 控制器(Controller):控制器负责处理用户请求,并将其分派给适当的模型和视图。

在Struts中,控制器由Action类实现,它根据请求的URL路径和参数执行相应的业务逻辑。

二、Struts的基本原理1.客户端发送HTTP请求到服务器。

2. 服务器的Servlet容器接收到请求,并将其分派给Struts的ActionServlet。

3. ActionServlet根据请求的URL路径找到相应的Action类。

4. Action类执行业务逻辑,并将业务结果存储在模型中。

5. Action类调用适当的视图呈现模型数据。

6.视图生成HTML页面并将其返回给客户端。

三、Struts的核心组件1. Action:Action是一个Java类,用于处理用户请求和执行业务逻辑。

它包含了不同的方法,如初始化、数据校验和处理逻辑等。

2. ActionForm:ActionForm是一个JavaBean,用于封装和验证用户输入的数据。

它通常与JSP页面的表单相对应,并且可以通过XML配置文件进行验证。

3. ActionMapping:ActionMapping用于将URL路径和参数映射到正确的Action类。

通过配置XML文件,开发人员可以指定不同URL路径的映射关系。

4. ActionServlet:ActionServlet是整个框架的核心控制器,负责接收客户端请求并将其分派给正确的Action类。

5. Struts配置文件:Struts配置文件是一个XML文件,用于配置整个应用程序的所有映射关系和其他设置。

Struts2框架配置文件详解大全

Struts2框架配置文件详解大全

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

所有的MVC框架都需要web应用加载一个核心控制器,对于Struts2框架而言,需要加载FilterDispatche r,只要Web应用负责加载FilterDispatc her,FilterDispatc her将会加载饮用的Str uts2框架。

配置FilterDispatc her的代码片段如下:-------------------------------------web.xm l------------------------------------------------------------------- <?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5"><!-- 配置Struts2框架的核心Filter --><filter><!-- 配置Struts2核心Filter的名字 --><filter-name>struts2</filter-name><!-- 配置Struts2核心Filter的实现类 --><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</f ilter-class></filter><!-- 配置Filter拦截的URL --><filter-mapping><!-- 配置Struts2核心FilterDispatcher拦截所有用户请求 --><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>-------------------------------------------------------------------------------------------------------------------- 二、struts.properties配置文件Struts2框架有两个核心配置文件,其中struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。

structs1参数配置详解

structs1参数配置详解

<?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 /><form-beans ><form-bean name="loginForm"type="com.fit.struts.form.LoginForm" /></form-beans><global-exceptions /><global-forwards /><action-mappings ><actioninput="/login.jsp"name="loginForm"path="/login"scope="request"type="com.fit.struts.action.LoginAction" ><forward name="suc" path="/suc.jsp"></forward><forward name="fail" path="/fail.jsp"></forward></action></action-mappings><message-resourcesparameter="com.fit.struts.ApplicationResources" /></struts-config>1、首先我们来简单总结以下struts1的处理流程首先:由视图层发出请求,当ActionServlet接收到 HTTP 请求后,在doGet 或 doPost 方法中都会调用process()方法处理请求。

struts2配置及项目启动

struts2配置及项目启动

1,Struts2的配置:1.1项目的配置:第一步:导包:将D:\software\tool\struts2\struts-2.3.16.1\apps\struts2-blank\WEB-INF\lib中的jar 包全部导入项目的lib文件夹中,其中jar包有:xw o rk-co re-2.3.16.1.j ar asm-3.3.j ar asm-co m m o ns-3.3.j ar asm-t ree-3.3.j ar co m m o ns-f i l eup l o ad-1.3.1.j ar co m m o ns-i o-2.2.j ar co m m o ns-l ang3-3.1.j ar co m m o ns-l o g g i ng-1.1.3.j ar f reem arker-2.3.19.j ar j avassi st-3.11.0.G A.j arl o g4j-1.2.17.j ar o g nl-3.0.6.j ar st rut s2-co re-2.3.16.1.j ar第二步:导入struts.xml文件文件中package可以自己定义。

第三步:编写web.xml文件其内容为struts2的核心拦截器,其他拦截去如果需要,必须写到struts2拦截器上面,否则,不起作用。

第四步:开发antion在后面详细描述;1.2开发action方式一:继承ActionSupport如果用struts2数据校验,必须继承此类。

方式二:实现Action 接口方式三:不继承任何类,不识闲任何接口1.3访问通配符通配符:在struts 中配置信息中,可以用*于{1}优化配置<package name="config" namespace="/" extends="struts-default"> 1.4 struts 中路径匹配原则1,访问路径=命名空间+action 的name 属性:public class UserAction extends ActionSupport{<!--<action name="login" class="cn.itcast.a_erAction2" method="login"> <result name="success">/index.jsp</result> </action> <action name="register" class="cn.itcast.a_erAction2" method="register"> <result name="success">/index.jsp</result> </action> --> <action name="user_*" class="cn.itcast.a_erAction2" method="{1}"> <result name="{1}">/{1}.jsp</result> </action></package><package name="config" namespace="/user" extends="struts-default"><action name="user_*" class="cn.itcast.a_erAction2" method="{1}"><result name="{1}">/{1}.jsp</result></action></package>访问的路径为:http://localhost:8080/user/user_login,其中login可以改为别的action 的name属性。

struts2的配置文件

struts2的配置文件
t;
<!-- 定义默认的拦截器 每个Action都会自动引用,如果Action中引用了其它的拦截器,默认的拦截器将无效 -->
<default-interceptor-ref name="mystack"></default-interceptor-ref>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
当前路径为web-inf/classes
struts2的配置文件
类型
struts2共有4类配置文件,
struts.properties:定义框架自身的全局变量。
struts-default.xml:定义框架自身使用的action映射及result定义。
struts-plugin.xml:struts插件使用的配置文件,比如当使用struts和spring结合时就需要在web.xml中引用该配置文件。
-->
<package name="com.kay.struts2" extends="struts-default" namespace="/test">
<interceptors>
<!-- 定义拦截器-->
<interceptor name="timer" class="com.kay.timer"></interceptor>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 JSP Framework - Struts介绍Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。

采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。

Struts有如下的主要功能:1. 包含一个controller servlet,能将用户的请求发送到相应的Action对象。

2. JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

3. 提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

Struts是Jakarta项目的一部分,主页在/struts.Version 0.5的下载地址:/builds/jakarta-struts/release/v0.51.1 1、什么是MVC模式。

MVC(Model/View/Controller)模式是国外用得比较多的一种设计模式,好象最早是在Smaltalk中出现。

MVC包括三类对象。

Model是应用对象,View是它在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。

1.2 2、是否所有JSP应用都该采用MVC模式?不一定所有的JSP应用都该采用MVC模式。

但对于大型应用来说,我认为还是该采用MVC模式。

不使用MVC模式,用户界面界面设计往往将这些对象混在一起,而MVC则将它们分离以提高灵活性和复用性。

1.3 3、Struts中能做XML吗,与Cocoon相比有何优点?Struts把主要精力放在JSP上了。

Cocoon才是专业级的XML Framework。

2. Struts的安装2.1 安装Struts需要的软件Java Development Kit - 你需要download和install 1.2(或之后)版本的JDK。

下载地址:/j2seServlet Container - 通常的选择是下载Tomcat(至少是3.1版,推荐使用3.2版)。

下载地址:/tomcatAnt Build System - 如果你通过Struts源码发布包安装,你必须下载1.1或之后版本的ant build system。

在你通过Struts来开发你自己的Web应用程序是,我也推荐使用ant来build你的应用。

下载地址:/antServlet API Classes - 为了编译Structs自己,或应用程序使用Struts,你需要一个包含Servlet和JSP API对象的servlet.jar包。

大多数Servlet container(例如Tomcat)已经自带了这个文件。

否则,你必需下载:/builds/jakarta-servletapiXML Parser - Structs需要一个与Java API for XML Parsing(JAXP)规格兼容的XML处理器。

我推荐使用Xerces。

下载地址:/xerces-jXalan XSLT Processor - 如果你通过Structs源码发布版来构造你的Structs 系统,你必须下载和安装1_2_D01或之后版本的Xalan XSLT处理器(Xerces中已自带Xalan)。

这个处理器用于将基于XML的Structs文档转换为Html文档。

2.2 通过源码构造Structs1.下载Structs的源码发布包。

2.设置ANT_HOME环境变量,指向你的Ant目录。

3.设置JAVA_HOME环境变量,指向你的JDK目录。

4.设置SERVLETAPI_HOME环境变量,指向你的Servlet API目录(如果你的CLASSPATH已经包含了servlet.jar,就不需要指定该目录)5.将Structs的源码发布包进行解包。

6.进入Structs目录,运行以下命令:./build.sh dist该命令将创建Struts的二进制发布包,目录在../dist/structs(相对于你的编译目录)。

2.3 通过Struts的二进制发布包安装Structs1.下载Struts的二进制发布版。

2.将Struts的二进制发布版进行解包。

(如果你是通过Struts源码构造Struts,build的结果就已经是已解包的Struts)。

解包后的Struts包含以下内容:lib/struts.jar - 这个文件包含了Struts的所有Java对象。

你需要把它拷贝到你的Web应用的WEB-INF/lib目录。

lib/structs.tld - 这是一个"tag library descriptor"文件,它描述了Struts库的自由tag。

需要将它拷贝到你的Web应用的WEB-INF目录。

webapps/struts-documentation.war - 这是一个"web application archive"文件,包含了所有的Struts文档。

你可以将它安装到支持Servlet API 2.2或之后版本的servlet container(推荐使用tomcat)中。

webapps/struts-example.war - 这是一个web应用实例,它广泛地演示了Struts的许多功能。

你可以将它安装到兼容Servlet2.2或之后版本以及JSP1.1或之后版本规范的servlet容器中(推荐使用tomcat)。

webapps/struts-test.war - 这个web应用包含了Struts支持的许多tag的测试网页,可以作为使用Struts tag的例子。

可通过以下的步骤在你自己的应用程序中使用Struts:1.将Struts目录的lib/struts.jar拷贝到web应用的WEB-INF/lib目录。

2.将Struts目录的lib/struts*.tld拷贝到web应用的WEB-INF目录。

3.修改Web应用目录的WEB-INF/web.xml文件,增加一个<servlet>元素来定义controller servlet,增加一个<servlet-mapping>元素来建立URI请求与servlet的对应关系。

可以参照Struts例子中的WEB-INF/web.xml文件来了解详细的语法要求。

4.修改Web应用目录的WEB-INF/web.xml文件,使之包含以下的tag库定义: <taglib><taglib-uri>/WEB-INF/struts.tld</taglib-uri><taglib-location>/WEB-INF/struts.tld</taglib-location></taglib><taglib><taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri><taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib><taglib><taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri><taglib-location>/WEB-INF/struts-logic.tld</taglib-location></taglib>5.创建一个WEB-INF/action.xml文件来定义你的web应用的action映射关系。

可以参照Struts例子中的action.xml文件来了解详细的语法要求。

6.在使用Struts tag库的JSP网页中加入以下tag库定义:<@ taglib uri="/WEB-INF/struts.tld" prefix="struts" %><@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>7.最后,在编译你的web应用的java程序时,不要忘了在CLASSPATH中包含struts.jar文件哟。

××××××××××××××××××××××××××××××××××最近参与的一个大项目就是用的struts framework,它是用于网络编程时的一种构架方法,你可以把他当作一个好的设计模式,不是很难。

只是这方面的中文资料太少了。

struts的主要部份在于ActionServlet,想清楚了解struts机制的朋友,可以研读一下这个class的源码。

这里我以它的流程作一个小说明:主要流程体现在process中,在这里调用各种process,如processPath,processMapping,processActionForm,processPopulate,processF orward等等。

这些函数从struts-config.xml取得数据,将请求与响应有效的组织起来。

从这些函数的字面意思其实也可以看出这些函数的作用,要明白为什么struts 如何通过.xml将各种请求与用户编写的class对应,可以重点看一看processAction,processPopulate,processValidate这三个函数。

struts是一种好东西,但我们也不要拘泥于它,配.xml很容易,最好了解一下为什么这样配可以,了解一下它与一般的jsp有什么不同。

这才是重要的。

××××××××××××××××××××××××××××××struts中的东东除了基于WEB Serve主目录的,其余的都是基于classes目录的。

相关文档
最新文档