下面是我的第一个struts程序的struts-config.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
- <struts-config>
- <data-sources />
- <form-beans >
- <form-bean name="userForm" type="com.yourcompany.struts.form.UserForm" />
- </form-beans>
- <global-exceptions />
- <global-forwards />
- <action-mappings >
- <action
- attribute="userForm"
- input="/form/user.jsp"
- name="userForm"
- path="/userI"
- scope="request"
- type="com.yourcompany.struts.action.UserAction">
- <forward name="success" path="/index.jsp" />
- <forward name="error" path="/error.jsp" />
- <forward name="show" path="/show.jsp"></forward>
- </action>
- </action-mappings>
- <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
- </struts-config>
这里主要看两个配置
一个是
<form-beans>
<form-bean name="userForm" type="com.yourcompany.struts.form.UserForm" />
</form-beans>
和
<action>
</action>
前者是配置实体类的名字,和类型,类型包括包名和类名
后者属性功能如下:
input:指定要转到该action的url路径
name:注意它是FormBean的名字。也就是你要给这个action带去的礼物的名字。
path: 指定访问Action的路径,以"/"开头,没有扩展名
scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为session
type:指定Action类的完整类名
forward标签:指定转发的URL路径,也就是Action处理后将要转到的页面,可以配置多个,至于要转的是哪个要由Action处理后返回的ActionForward对象决定。
WEB.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <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>
- </servlet>
- <servlet-mapping>
- <servlet-name>action</servlet-name>
- <url-pattern>*.jb</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <servlet>
- <servlet-name>ServletUI</servlet-name>
- <servlet-class>cn.xteam.servlet.ServletUI</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>ServletUI</servlet-name>
- <url-pattern>/neil</url-pattern>
- </servlet-mapping>
- </web-app>
重要的代码如下:
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.jb</url-pattern>
</servlet-mapping>
就是一个servlet的映射,要用struts就必须设置这个,所有后缀名为*.jb的都会被这个servlet过滤。