书上例子(我把包名coreservlet改成自己相应的包名"zsx"):
<form action="/servlet/zsx.ThreeParams">
first param=<input type="text" name="param1" size="20"><BR>
secend param=<input type="text" name="param2" size="20"><BR>
third param=<input type="text" name="param3" size="20"><BR>
<CENTER><input type="submit" value="提交" name="B1"></CENTER>
</form>
运行结果是说d:/servlet/zsx.ThreeParams不存在.
大家看看怎么回事:
我按照一位高人所说的放置自己的程序和类文件:
自己创建的目录xiong: (D:/tomcat-4.1.18/webapps/xiong/WEB-INF/)
WEB-INF下自己创建了文件夹classes,和web.xml
其中当web.xml为以下内容时,测试 http://localhost:8080/xiong/hello
成功:
<?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>HelloW</servlet-name>
<display-name>HelloW</display-name>
<description>A test Servlet:Hello World!</description>
<servlet-class>zsx.HelloW</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloW</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
问题1:
当在上述web.xml中在</web-app>前插入以下内容时,启动Tomcat出异常
<servlet>
<servlet-name>ThreeParams</servlet-name>
<display-name>ThreeParams</display-name>
<description>A test Servlet:read params</description>
<servlet-class>zsx.ThreeParams</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ThreeParams</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
虽然启动出异常,不过还是访问http://localhost:8080/xiong/Test 运行成功
网页显示结果是 param1=null param2=null param3=null
为什么启动异常?怎么解决?
问题2:
即使用<form action="/xiong/Test">....代替上面的
<form action="/servlet/zsx.ThreeParams">也是不行的,也是说d:/xiong/Test
找不到
怎么办?
问题3: 我想直接用 类名访问(包括包名)zsx.ThreeParams,那应该怎么写web.xml的内容?比如http://localhost:8080/xiong/servlet/zsx.ThreeParams
---------------------------------------------------------------
class下有没有建立这个zsx目录?
你把web.xml里面的<servlet>放到前面,<servlet-mapping>全放到后面即可。
web.xml里面的<servlet>与<servlet-mapping>的前后顺序问题
<form action="/servlet/zsx.ThreeParams">
first param=<input type="text" name="param1" size="20"><BR>
secend param=<input type="text" name="param2" size="20"><BR>
third param=<input type="text" name="param3" size="20"><BR>
<CENTER><input type="submit" value="提交" name="B1"></CENTER>
</form>
运行结果是说d:/servlet/zsx.ThreeParams不存在.
大家看看怎么回事:
我按照一位高人所说的放置自己的程序和类文件:
自己创建的目录xiong: (D:/tomcat-4.1.18/webapps/xiong/WEB-INF/)
WEB-INF下自己创建了文件夹classes,和web.xml
其中当web.xml为以下内容时,测试 http://localhost:8080/xiong/hello
成功:
<?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>HelloW</servlet-name>
<display-name>HelloW</display-name>
<description>A test Servlet:Hello World!</description>
<servlet-class>zsx.HelloW</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloW</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
问题1:
当在上述web.xml中在</web-app>前插入以下内容时,启动Tomcat出异常
<servlet>
<servlet-name>ThreeParams</servlet-name>
<display-name>ThreeParams</display-name>
<description>A test Servlet:read params</description>
<servlet-class>zsx.ThreeParams</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ThreeParams</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
虽然启动出异常,不过还是访问http://localhost:8080/xiong/Test 运行成功
网页显示结果是 param1=null param2=null param3=null
为什么启动异常?怎么解决?
问题2:
即使用<form action="/xiong/Test">....代替上面的
<form action="/servlet/zsx.ThreeParams">也是不行的,也是说d:/xiong/Test
找不到
怎么办?
问题3: 我想直接用 类名访问(包括包名)zsx.ThreeParams,那应该怎么写web.xml的内容?比如http://localhost:8080/xiong/servlet/zsx.ThreeParams
---------------------------------------------------------------
class下有没有建立这个zsx目录?
你把web.xml里面的<servlet>放到前面,<servlet-mapping>全放到后面即可。
web.xml里面的<servlet>与<servlet-mapping>的前后顺序问题