鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网站制作教程 > JSP > >

Structs中基本配置入门

来源:互联网 作者:佚名 时间:2015-03-13 01:33
1、为Structs应用配置Web.xml文件 第一步:配置ActionServlet servlet servlet-nameaction/servlet-name servlet-classorg.appache. structs.ActionServlet/servlet-class/servletservlet-mapping servlet-nameaction/servlet-name uri-pattern*.do/url-patte

 

1、为Structs应用配置Web.xml文件

第一步:配置ActionServlet



 

<servlet> <servlet-name>action</servlet-name> <servlet-class>org.appache. structs.ActionSer vlet</servlet-class></servlet><servlet-mapping> <servlet-name>action</servlet-name> <uri-pa ttern>*.do</url-pattern></servlet-mapping>



注意:不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Structs框架只允许在应用中配置一个ActionServlet。

第二步:初始化参数对Servlet的运行环境进行初始化配置。

 

<servlet> <servlet-name> action</servlet-name> <servlet-class> org.appache. structs.Actio nServlet </servlet-class> <init-param><param-name>config</param-name><param-value>/W EB-INF/structs-config.xml</param-value></init-param> </servlet>



表2-1. Struts1.1中用到的初始化参数

 

参数名 含义/默认值

config 以相对路径的方式指明 Struts应用程序 的配置文件位置。 如不设置,则默认值为/WEB-INF /struts-config.xml。

config/sub1 以相对路径的方式指明子应用程序 的配置文件位置,一般来说, 很少用到子应用程序, 在此不多描述。

debug 设置Servlet的debug级别, 控制日志记录的详细程度。 默认为0, 记录相对最少的日志信息。

detail 设置Digester的debug级别, Digester是Struts框架所使用的 用来解析xml配置文件的一个框架, 通过该设置,可以查看不同详细 等级的解析日志。默认为0, 记录相对最少的日志信息。



第三步:配置欢迎清单

当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没用指定具体的文件名,Web容器会自动调用Web应用的欢迎文件。

 

<welcome-file-list><welcome-file>welcome.jsp</welcome-file><welcome-file>index.jsp</welcom e-file> </welcome-fiel-list>



说明:

可以包含多个子元素,首先查找第一个文件。

由于元素中不能配置Servlet映射,因此不能直接把Structs的Action作为欢迎文件,可以采用一种变通的方法来实现在欢迎文件中调用Structs Action。

首先,在Structs配置文件中为被调用的Action创建一个全局的转发项,例如:

 

<global-forwards> <forward name=”welcome” path=”HelloWord.do”/></global-forwords>



创建一个welcome.jsp的文件,最后在web.xml文件中把welcome.jsp文件配置为欢迎文件,代码如下:

 

<welcome-file-list><welcome-file>welcome.jsp</welcome-file> </welcome-file-list>



第四步:配置错误处理

 

<error-page> <error-code>404</error-code> <location>/commom/404.jsp</location></erro r-page><error-page> <error-code>505</error-code> <location>/commom/505.jsp</locati on></error-page>



也可以为Web容器捕获的Java异常配置,需要设置子元素,它用于指定Java异常类。Web容器可能捕获如下异常:RuntimeException或Error ServletException或它的子类,IOException或它的子类:

 

<error-page> <exception-type>java.io.IOException </exception-type> <location>/common/sy stem_ioerror.jsp </location></error-page>



第五步:配置Structs标签库

使用客户化的标签库,要配置它们:

 

<taglib> <tag-uri>/WEB-INF/structs-html.tld <tag-uri> <taglib-location> /WEB-INF/str ucts-html.tld </taglib-location> </taglib>



用于指定标签库的相对或者绝对URI地址,Web应用根据这一URI来访问标签库。

指定标签描述文件在文件资源系统中的物理位置。

2、Structs配置文件

Structs框架在启动时会读入其配置文件,根据它来创建和配置各种Structs组件。

(1)元素

元素是Structs配置文件的根元素,元素有8个子元素。它的DTD定义如下:

<!ELEMENT structs-config(data-sources?,formbean?,global-exeception?,global-forward?,action-mapp ing,controller?,message-resources*,plug-in*)>



在Struts配置中,必须按照以上的DTD指定的先后顺序来配置元素的各个子元素,如果颠倒了这些元素的配置文件中的位置,在Structs应用启动时会生成错误。

元素

元素包含零个、一个或者多个子元素,用于配置特定的数据源,它可以包含多个子元素,用于设置数据源的各种属性。

配置了数据源后,就可以在Action类中访问数据源,在org.apache.structs.action.Action类中定义了getDataSource(HttpRequrst)方法,它用于获取数据源对象的引用。

 

DataSource dataSource; Connection connection; dataSource =getDataSource(request); conn ection=dataSource.getConnection();



也可以在配置文件中声明多个数据源,此时需要为每一个数据源分配唯一的key值,通过改值来标识特定的数据源。

(2) 元素

元素用来配置多个ActionForm Bean, 包含多个子元素,,每个包含多个属性,ClassName , name,type:

 

<form-beans> <form-bean name="HelloForm" type="hello.HelloForm"/></form-beans>



注意:配置动态ActionForm Bean,还必须配置 元素的 元素。

 

网友评论
<