为Struts应用配置Web.xml文件

Web.xml文件对于配置任何Java Web应用都是必须的.当配置Struts应用时,还应该在web.xml文件中配置和Struts相关的配置选项.一下讲述配置Struts应用的必要步骤.

1·配置Struts的ActionServlet

第一步用<servlet>元素来声明ActionServlet。

在<servlet>的子元素中,经常用到的有:

·<servlet-name>元素用来定义Servlet的名称。

·<servlet-class>元素用来置顶Servlet的完整类名。

·<init-param>元素用于配置Servlet初始化参数。

第二步为配置<servlet-mapping>元素,用来指定ActionServlet可以处理哪些URL。

有子元素<servlet-name>和<url-pattern>,注意,这里的<servlet-name>必须和<servlet>元素中的<servlet-name>匹配。

**提示**

不管应用中包含多少子应用,都只需要配置一个ActionServlet。有些开发者希望设置多个ActionServlet类来处理应用中不同的功能,其实这是不必要的,因为Serlvet本身支持多线程。而且,目前的Struts框架只允许在应用中配置一个ActionSerlvet。

2·配置欢迎文件清单

<welcome-file-list>元素中可以包含多个<welcome-file>子元素,当Web容器调用Web应用的欢迎文件时,首先寻找第一个<welcome-file>指定的文件。如果这个文件存在,将把这一个文件返回给客户;如果这个文件不存在,Web容器将依次寻找下一个欢迎文件,直到找到为止;如果都不存在,服务器将向客户返回“HTTP 404 Not Found”的出错信息。

3·配置错误处理

<error-page>
<error-code></error-code>
<location></location>
</error-page>

如果在web.xml文件中做了以上配置,当Web容器捕获到错误时(如:HTTP 404、HTTP 500),将根据错误代码减缩<error-page>的子元素<error-code>,如果有匹配项就返回<location>子元素指定的文件。

也可以为Web容器捕获的Java异常配置<error-page>元素,这是需要设置<exception-type>子元素,它用于指定Java异常类。

Web容器可能捕获如下异常:

·RuntimeException或Error。

·ServletException或它的子类。

·IOException或它的子类。

这里的配置信息如下:

<error-page>
<exception-type></exception-type>
<location></location>
</error-page>

4·配置Struts标签库

<taglib>元素有两个子元素:<taglib-uri>和<taglib-location>。<taglib-uri>元素指定标签库的相对或者绝对URI地址,Web应用将根据这一URI来访问标签库;<taglib-location>元素指定标签库描述文件在文件资源系统中的物理位置。

如果Web应用中没有使用Struts标签库,就没有必要在web.xml文件中配置它。此外,也可以按以上方式在web.xml文件中配置用户自定义的客户化标签库。

时间: 2024-08-17 14:58:04

为Struts应用配置Web.xml文件的相关文章

struts 2在web.xml中配置详情

web.xml是web应用中加载有关servlet信息的重要配置文件,起着初始化servlet,filter等web程序的作用. 通常,所有的MVC框架都需要Web应用加载一个核心控制器,那采取什么方法加载这样的核心控制器呢,servlet或filter成为了很好的选择, 因为它们会随着web服务的启用而自动的载入.对于Struts 2框架而言,需要加载FilterDispatcher, 只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载应用的Str

struts配置web.xml提示not assignable to &amp;amp;#39;javax

问题描述 struts配置web.xml提示not assignable to 'javax struts配置web.xml提示org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter' is not assignable to 'javax.servlet.Filter 导入的包和报错情况如下: 项目运行报错 WARNING: Could not find action or result There is no

问下如何在MyEclipse7.0中配置web.xml 让它带自动提示struts标签功能

问题描述 问下如何在MyEclipse7.0中配置web.xml让它带自动提示struts标签功能那位高手知道帮解答下小弟万分感激!就是在web.xml中输入个<然后会提示 解决方案 解决方案二:问下如何在MyEclipse7.0中配置web.xml让它带自动提示struts标签功能那位高手知道帮解答下小弟万分感激!就是在web.xml中输入个<然后会提示解决方案三:其实很简单的:以spring2.0的配置文件为例(其他基本类似):进入:window->Preference...->

jsp web.xml文件的作用及基本配置_JSP编程

一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的. 那什么时候需要,什么时候可以不需要呢? 要想回答上面的问题,得先了解web.xml文件使用来干什么的.web.xml文件是用来配置:欢迎页.servlet.filter等的.当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程. 那么web.xml能做的所有事情都有那些? 其实,web.xml的模式(Schema)文件中定义了多少种标签元素,web.xml中就可以出现它的模

Struts2配置web.xml

  任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载. 所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载FilterDispatcher   只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载应用的Struts2框架.   因为Struts 2将核心控制器设计成Filter,而不是一个普通Servlet.故为了让Web应用加载F

tomcat-在eclipse中新建servlet时,没有在web-inf目录下生成web.xml文件是怎么回事?

问题描述 在eclipse中新建servlet时,没有在web-inf目录下生成web.xml文件是怎么回事? 在eclipse中新建servlet时,没有在web-inf目录下生成web.xml文件是怎么回事?其中用的是tomcat-7.0 解决方案 Eclipse里面新建DynamicWeb Project时需要勾选生成web.xml选项才会生成web.xml文件.如果不勾选,则要自己建一个该文件了. 而新建Servlet后,如果要使用Servlet则需要在web.xml中自己配置. 解决方

新版eclipse中web工程的web.xml文件问题

问题描述 我一直使用eclipse3.5,在新建的dynamic web project 中,都会有web.xml这个文件,在里面配置servlet.欢迎页面什么的都好用.但是这几天,同学用最新版本的eclipse配置servlet时,发现新建的web工程都没有web.xml这个文件.是不是这个文件的功能被eclipse新增的功能代替了呢?还是web.xml放在另外一个地方了? 问题补充:redstarofsleep 写道 解决方案 你同学是不是用的Tomcat7啊,如果是把tomcat7配置到

使用maven搭建项目时,数据源配置context.xml文件应该放哪儿?

问题描述 使用maven搭建项目时,数据源配置context.xml文件应该放哪儿? 项目分为 util dao servrice web 四个子模块.因为我还没学过框架知识,所以只能用基本的jdbc数据源连接数据库.基本连接数据库的dao文件写在util模块中.那请问context.xml文件究竟应该放在哪儿TAT..原则上不应该放在web模块的META-INF文件夹下吗TAT可是都没用阿..急急急! 解决方案 放在资源目录下,或者项目目录下. 解决方案二: src/main/resource

servlet-tomcat的web.xml文件映射冲突

问题描述 tomcat的web.xml文件映射冲突 没有怎么动tomcat突然今天运行的额时候就报了很多错 其中有一句 Caused by: java.lang.IllegalArgumentException: The servlets named [shop.ShowCars] and [showHistory.ShowBooks] are both mapped to the url-pattern [/ShowBooks] which is not permitted at org.ap