servlet 问题 急!请各位高手指点迷津!

dengjianqiang200 2007-06-30 07:48:20
我有几个提交页面,mtv,mv,music...
在每个页面中有上传提交表单一个,form的action分别对应servlet
uploadmtv.do,uploadmv.do,uploadmusic.do
form写法
<form action="./uploadMtv.do" method="post" id="fileUploadForm" name="fileUploadForm" enctype="multipart/form-data">
<input type='file' name="file" size="50" />
<input type="submit" name="uploadButton" id="uploadButton" value="上传"/>
</form>

web.xml配置
...
<servlet>
<servlet-name>uploadMtv</servlet-name>
<servlet-class>com.ajax.upload.uploadMtv</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>uploadMtv</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>uploadMv</servlet-name>
<servlet-class>com.ajax.upload.uploadMv</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>uploadMv</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>uploadMusic</servlet-name>
<servlet-class>com.ajax.upload.uploadMusic</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>uploadMusic</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
...

在我单独提交每个页面的时候,比如我提交上传mtv的页面,应该是指向uploadmtv.do这个servlet,但实际上却跑到了uploadMusic的这个servlet,上传mv同样会出现此类问题,只有上传music为正确,如果去除web.xml中music部分,则每个页面(除去上传music)提交均会到uploadMv这个servlet,不知道这是为什么,为什么总是提交到最后一个servlet呢。页面应该没有问题,难道是配置文件的问题吗?我对servlet不是很熟,请各位高手指点迷津!

谢谢!
...全文
161 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengjianqiang200 2007-07-01
  • 打赏
  • 举报
回复
多谢各位,问题已经成功解决!
wang19841229 2007-06-30
  • 打赏
  • 举报
回复
指定提交servlet的方法和struts提交方法是两个完全不同的概念。
你的web.xml文件的servlet的url-mapping都指定的是*.do这样所有的.do请求都会发往第一个*.do的url请求
ownraul 2007-06-30
  • 打赏
  • 举报
回复
每一个mapping中不用要用*.do
就直接捕获你需要的那个.do就好了
恭常章 2007-06-30
  • 打赏
  • 举报
回复
因为你的每个servlet-mapping都是如下结构:
<servlet-mapping>
<servlet-name>uploadMusic</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
而url-pattern中全部都是*.do,所以提交页面时只要是以.do结尾的请求都全部由servlet-name为uploadMusic的servlet解决。所以不管提交什么都是一样的。
解决方案为:
form写法
<form action="./uploadMtv" method="post" id="fileUploadForm" name="fileUploadForm" enctype="multipart/form-data">
<input type='file' name="file" size="50" />
<input type="submit" name="uploadButton" id="uploadButton" value="上传"/>
</form>

web.xml配置
...
<servlet>
<servlet-name>uploadMtv</servlet-name>
<servlet-class>com.ajax.upload.uploadMtv</servlet-class>
</servlet>

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

<servlet>
<servlet-name>uploadMv</servlet-name>
<servlet-class>com.ajax.upload.uploadMv</servlet-class>
</servlet>

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

<servlet>
<servlet-name>uploadMusic</servlet-name>
<servlet-class>com.ajax.upload.uploadMusic</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>uploadMusic</servlet-name>
<url-pattern>/uploadMusic</url-pattern>
</servlet-mapping>
...





67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧