表单参数传递给servlet

本文探讨了在Tomcat中部署Servlet遇到的问题,包括配置异常、路径设置错误及直接通过类名访问的方法。提供了web.xml配置建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

书上例子(我把包名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>的前后顺序问题

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值