structs项目的web.xml配置

转载(http://liujinpan75.iteye.com/blog/855897
web.xml文件对于配置任何Java Web应用都必需的。
(1)配置Struts的ActionServlet

元素来声明ActionServlet
元素:用来定义Servlet的名称
元素:用来指定Servlet的完整类名


action
org.apache.struts.action.ActionServlet

还要配置元素,它用来指定ActionServlet可以处理哪些URL

action
*.do

注意:(1)和中的?的要填写一致,它就是一根线,把和联接在一起的。
(2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。而org.apache.struts.action.ActionServlet中的ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。
(3)在显示层以.do提交的,都会过个Servlet。.do可以改写成你想要的任何形式。例如:/do/*
扩展 (1)我们可以继承 org.apache.struts.action.ActionServlet 得到我们可以扩允的子类,在子类中重写一个方法init()。这时?中的?是我们新建的类的路径,同样只能存在一个。

(2)声明ActionServlet的初始化参数
初始化参数用来对Servlet的运行时环境进行初始配置。的子元素用于配置Servlet初始化参数。

config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml
debug : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。
detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。
?中?号的值是此ActionServlet在服务器开启时加载的次序,数值越低,越先加载。

<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> 

扩展:(1)当服务器启动后,加载ActionServlet,而ActionServlet会调用相关的方法去,会根据它下面的参数的初始值,对这个ActionServlet中的参数时行初始化
(2)当多人协作开发项目时可以对Strutst的配置文件进行适当的扩充,但必须为config开头。如

config/XXXXXXXXX
/WEB-INF/XXXXX.xml

(3) 配置欢迎文件清单
当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没有指定具体的文件名。Web容器会自动调用Web应用的欢迎文件。是用来设置此项.

welcome.jsp

说明:在 下可以有多个。Web容器会依次寻找欢迎界面,直到找到为止。但如果不存在会向客户端返回”HTTP 404 NOT Found“错误信息。

  由于在<welcome-file-list>元素中不能配置Servlet映射,则不能直接把Struts的Action作为欢迎文件。但可以通过Struts中的全局的(global)转发项来配置。 
  A:welcome.jsp页面(可换文件名) 
  <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%> 
  <html> 
  <body> 
  <logic:forward name="welcome"/> 
  </body> 
  </html> 
  B: web.xml 
  <welcome-file-list> 
  <welcome-file>welcome.jsp</welcome-file> 
  </welcome-file-list> 
  C:  struts-config.xml 
  <global-forwards> 
  <forward name="welcome" path="hello.do">  
  </global-forwards> 
   我自已理解,仅供参考 
  运行机制:当服务器启动时还是会加载 B中<welcome-file>welcome.jsp</welcome-file>中的welcome.jsp,然后读到(A)welcome.jsp中的 <logic:forward name="welcome"/>,接下来会转到C中的<forward name="welcome" path="HelloWorld.do">,这是由于它是以.do(hello.do)结尾的,所以它会找到C文件中的<action>相配配的,最后在转到这个<action>的JSP页面。 
  运行错误示例: 

(a)把C中的改成 liusong.do根本就不成在。

(b)把C中的 因为服务器不知是hello.do还是hello.jsp不能转向

(c)把B中的 /hello.do因为它不会调用Servlet类,

运行正确示例:

(d)把C中的 运行成功
(e)把B中的/hello.jsp 运行成功

(4)配置错误处理
Struts框架中不能处理所有的错误或异常。当Struts框架发生不能处理所有的错误或异常时,就把错误抛给Web容器。在默认情况下,Web容器会向用户浏览器直接返回原始的错误,为了避免可以使用。

4040
/commmon/404.jsp


4040
/commmon/404.jsp

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


javax.servlet.ServletException
/system_error.jsp


java.io.IOException
/system_ioerror.jsp

(5)配置Struts标签库
Struts框架提供了一些实用的客户化标签标签库,如果在应用中使用可以在web.xml中配置

/WEB-INF/struts-bean.tld
/WEB-INF/struts-bean.tld

由于Eclipse对会产生错误,所以


/WEB-INF/validator-user.tld
/WEB-INF/validator-user.tld

Struts 项目中web.xml文件配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值