servlet为什么要映射呢?

wbw88 2003-03-28 10:12:24
写了一个servlet后为什么要在WEB.XML里面映射一下呢/
不映射不是也可以运行吗,只要放在classes目录下就可以了.
映来映去反而容易搞错.

另外TOMCAT怎么对servlet不自动编译呢,在resin里面都是自编译的.
...全文
86 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tpz_stamp 2003-03-28
<servlet-name>别名</servlet-name>
<servlet-class>真名</servlet-class>

访问一般用别名
如果调试时候偷懒,可以用真名。在tomcat下:/rootname/servlet/className
回复
wbw88 2003-03-28
<servlet>
<servlet-name>Cookie1</servlet-name>
<servlet-class>Cookie1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
这句话不是很明白,
那个<servlet-name></servlet-name>标记是写servlet的真实类名还是随便取,
在浏览器里面敲路径,写servlet的名字时,是按昭<servlet-name></servlet-name>
这个标记里面的内容写,还是按昭<servlet-class></servlet-class>这个标记里面的内容写。
回复
xiiiiix 2003-03-28
如果是一个项目的应用,那么可能会存在许多个人同时编程,如果都放到class里面就可能导致重名,这样局限性很高,而且不利于发布和开发,用web.xml的意义就是在要把所有的jsp和servelet等web应用都放到一个war包中去(部署的时候分别发布),这样多人开发就可以有不同的war包,名字只要在自己的war包中不重名就可以,class等在自己的war包里包括就行,针对一个war有一个web.xml所以有利于开发,其实web.xml功能十分强大,重要的功能其实是可以影射url响应构成mvc体系结构等,方便开发.
回复
wbw88 2003-03-28
那为什么要映射呢?还有怎么让它自动编译呢?
回复
vcvj 2003-03-28
不映射也行,你也去com.xxxx.servlet.Yourservlet
回复
learnner 2003-03-28
工具不同嘛,开发者想法不一样,所以要求也不同
回复
wbw88 2003-03-28
大家说说。
回复
catzm 2003-03-28
影射只是让你自己能起一个别名而已。
回复
wbw88 2003-03-28
to kongxiangli(笑看红尘)
reloadable="true" 放在web.xml的哪个地方呀?
回复
dybine 2003-03-28
还是喜欢用tomcat3,因为不用映射的
回复
凋零的老树 2003-03-28
http://severname:8080/虚拟目录/servletname
错了
http://severname:8080/虚拟目录/servlet/servletname
回复
凋零的老树 2003-03-28
不映射也可以
servlet放在web-inf/class下
http://severname:8080/虚拟目录/servletname

TOMCAT也可以自动编译啊,改一下web.xml
reloadable="true"
回复
wbw88 2003-03-28
因为好像要不要都一样呀。
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
回复
hoxisoft 2003-03-28
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

是servlet-mapping element干嘛不要那?
回复
wbw88 2003-03-28
有了<servlet-name>别名</servlet-name>
<servlet-class>真名</servlet-class>
这个标记,那下面这个标记是不是可以不要了:

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-03-28 10:12
社区公告
暂无公告