1. 前言
之前使用Servlet实现文件(图片)上传,并将图片保存到当前项目的路径下,在页面通过img标签将图片显示。但这会出现一个问题:把Tomcat服务器停止后,再启动,就会发现之前上传到Tomcat中的图片全消失了。这是因为再次启动Tomcat时,Tomcat会重新部署此项目,那么之前的项目会被覆盖掉,所以,上传的文件会消失,在页面的img标签中不能访问。
所以,把需要上传的文件不能保存到此项目下,可以保存到其他路径/磁盘下,即使,Tomcat重启那也不会影响到上传的文件。在真实的项目开发中,公司会有专门的文件服务器进行存储图片。
由于自己在做毕设时,在上传文件这块碰了很多壁,所以,稍加记录一下。这里,我就在毕设项目中进行演示。在原项目中添加了两个Jsp文件—test.jsp和success.jsp
2. DEMO功能描述
在浏览器中输入:http://localhost:8080/test,跳转到test.jsp页面。test.jsp页面就是一个表单提交信息—添加酒店:
- 填写酒店相应信息,并上传酒店的图片。上传成功后会往数据库添加一条数据,也会存储图片的名称
- 跳转到success.jsp,从数据库读取酒店的图片路径,并显示。
3. DEMO技术栈
3.1 后台技术栈
.开发工具:IDEA2018
.开发框架:SSM
.包管理工具:MAVEN
4. DEMO开发流程
IndexController
@Controller
public class IndexController {
@RequestMapping(value = "/test")
public String test() {
return "test";
}
}
跳转到test.jsp页面
test.jsp
<body>
<form action="${pageContext.request.contextPath }/addHotel" method="post" enctype