在使用idea练习jsp项目时,出现了一个问题。
使用该网址的代码https://www.runoob.com/jsp/jsp-file-uploading.html
结构如下
tomcat 的热部署使用的是根目录
按照源代码运行没有问题,但对代码进行如下两处修改后,tomcat无法运行。
index.jsp form的action去掉/TomcatTest/
index.jsp的代码复制于upload.jsp
<form method="post" action="UploadServlet" enctype="multipart/form-data">
选择一个文件:
<input type="file" name="uploadFile" />
<br/><br/>
<input type="submit" value="上传" />
</form>
web.xml的url-pattern中内容修改为/UploadServlet
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/UploadServlet</url-pattern>
</servlet-mapping>
tomcat 无法运行
反复查错之后,发现在UploadServlet.java中有这样一句话
@WebServlet("/UploadServlet")
这句话是一个servlet映射路径,与web.xml中的映射路径作用相同,于是发生了冲突。jsp的基础还是不牢啊。
修改方法:两种方法取其中一种。
tip:一个servlet可以有多个不同名字的映射路径。