在tomcat中怎样注册Servlet?(50分)

R

readxlp

Unregistered / Unconfirmed
GUEST, unregistred user!
我将编写的Servlet类放在其样例的Tomcat 4.1/webapps/examples/WEB-INF/classes下直接可以放问,
但放在我自建的目录刚访问不了,在tomcat中怎样注册Servlet类?能否说详细点?
 
在自建目录的WEB-INF/web.xml下加入如下说明代码:
<servlet>
<servlet-name>类明</servlet-name>
<display-name>类明</display-name>
<servlet-class>保存路径</servlet-class>
</servlet>
 
我加了,可就是不行,很奇怪,我在他样例samples目录下
加servlet类而web.xml文件没改可以浏览到该页面!
 
需要在server.xml文件中加入一个服务,
至于怎么加,你直接把examples的配置
copy下来就可以了,改改名字,改改路径,ok。
随便找本讲tomcat的书都有讲的,实在不行到tomcat的官方网站上
看看也可以啊。
 
缺损情况下,tomcat处理下面的URL时
http://<主机>/<你的目录>/servlet/<你的类>
是到
<你的目录>/WEB-INF/classes中去找<你的类>的,所以你如果不想象楼上两位说的那样去设置的话,
就把<你的类>丢到<你的目录>/WEB-INF/classes中去,就应该可以了
 
同意brokensun,把servlet类放到你的应用的classes目录下,
调用时在servlet类前面加一个servlet路径就行了。
不必做其它特别的配置吧。
 
按brokensun的方法可还是没用,不过我把samples目录拷贝到另一目录改名直接加上我的Servlet就可用!
我想是不是samples中的web.xml文件中作了什么配置?
按小猪的方法也试过,就是不行,呵,不知问题在哪?现在就是将samples目录拷贝改名然后添加到tomcat目录中了!
 
同意:小猪的
 
在项目要目录的WEB-INF下新建如下内容的web.xml文件:
<?xml version="1.0" encoding="gb2312"?>
<!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>
<servlet>
<servlet-name>servlet名称</servlet-name>
<servlet-class>serlvet类完全访问路径</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet名称,同上</servlet-name>
<url-pattern>/类名</url-pattern>
</servlet-mapping>
</web-app>
 
同意:lql0459 de
 
楼上各位,我出现的问题和 readxlp 出现的一样,是不是我们的tomcat版本有问题,我使用的是4.06,是.exe文件按照好后我没有再进行任何设置,是不是和这有关系?
 
修改完成后,要重启tomcat
 
看一下它的DEMO配置就知道了,其实很简单的,就是lql0459说的那样
 
Servlet 的设置
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>project4.HelloServlet</servlet-class>
<init-param>
<param-name>age</param-name>
<param-value>26</param-value>
</init-param>
<init-param>
<param-name>ip</param-name>
<param-value>192.168.5.65</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

解释:
<servlet>内的<servlet-name> 是一个逻辑名,可以是任何有效的标识名,可以
将上述配置中的两个<servlet-name>HelloServlet</servlet-name>同时改成
<servlet-name>qq</servlet-name>,得到的效果相同,注意要"同时改",这样
可以继续保持对应的关系。
<init-param>是Servlet 初始参数,在Servlet 的init()方法中通过
getInitParameter("ip")取得,返回String 型数据,
<servlet-mapping>内的<servlet-name>与<servlet>内的<servlet-name>一一
对应,把客户端对/HeeloServlet 的请求对应到
<servlet-class>project4.HelloServlet</servlet-class>所指定的位置。
<url-pattern>/HelloServlet</url-pattern>指在IE url 中的请求形式。这里
的/ 是相对于当前的web 目录的,如H:/tomcat4/webapps/myweb
 
顶部