谁能帮我解释一下servlet环境配置中的这个问题

waterwebsphere 2004-08-25 10:57:48
曾在CSDN看到一篇关于设置JSP、SERVLET、JAVABEAN环境配置的文章,写的很好。当时没用到,所以也就放下了。今天需要用了才发现自己实际解决这个问题的时候并不是像作者说的那么轻松。编写好一个servlet之后,按照作者所说的重新配置web.xml运行该servlet没有问题。我想问的就是,难道每次写好一个servlet都需要重新配置一次web.xml吗?web.xml中各个代码行倒底是设置什么东西的?我的web.xml代码如下,请高手指点,拜谢!!

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<servlet>
<servlet-name>Hello</servlet-name>
<display-name>Hello</display-name>
<description>A test Servlet</description>
<servlet-class>mypackage.Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web-app>
...全文
114 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
angelheart 2004-08-27
一个简单的servlet只需要

<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>

就行了
回复
waterwebsphere 2004-08-27
谢谢大家的帮助,通过大家的帮助、网友的帮助,我的问题解决了,在这里谢谢大家。谢谢策马扬鞭兄的倾心帮助!!
回复
waterwebsphere 2004-08-26
问题还没解决,顶一下
回复
whyhzr 2004-08-25
是的
回复
一点晴 2004-08-25

局部应用(某一WEBAPPS)如上配置所说,主要是为了映射虚拟路经。

以TOMCAT为例:

如果你没有特别的需要,只是想让所有的WEBAPPS可以支持servlet,那么直接更改全局
TOMCAT的web.xml即可。位置tomcathome/conf/web.xml

将以下2部分注释去掉使其生效即可,而不必每次都更改每个WEBAPPS的web.xml:

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
---------------------------------
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

回复
waterwebsphere 2004-08-25
按楼上所说的,意思就是没编写一个servlet都要配置
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
这么一段代码专门负责配置改servlet,是这样吗?
回复
angelheart 2004-08-25
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>

这段代码可以重复出现。。。你不会是只用一个吧?
回复
angelheart 2004-08-25
每一个servlet都需要配置web.xml的,一般servlet只需要以下配置就行了
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>

web.xml是存放你的网站配置的。有很多东西
比如说
<listener>
<listener-class>your classpath</listener-class>
</listener>
是部署WEB监听器
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>
是部署过滤器的
回复
waterwebsphere 2004-08-25
但是如果我不重新编写该web.xml,不改里面包的名字以及servlet的名字,tomcat就会提示改servlet不存在,是怎么回事呢?
回复
Debian 2004-08-25
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
回复
moumouren 2004-08-25
客户端如果请求http://hostname:port/webappname/Hello
服务器就会maping到Hello这个servlet,Hello 这个servlet就会调用 mypackge.Hello这个servlet class
回复
waterwebsphere 2004-08-25
ikevin(菜无心):去掉了conf/web.xml中
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
的注释之后tomcat连编写的.jsp文件都找不到了啊。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-25 10:57
社区公告
暂无公告