通过B站狂胜javaweb基础学习
搭建环境
1、创建一个空的Maven项目
1)选择JDK
2)new module
3)配置tomcat
2、导入jar
利用maven导入
<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></dependency><!--servlet-api导入高版本的--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version></dependency><!--jsp的依赖--><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.3</version><scope>provided</scope></dependency><!--JSTL的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- standard标签库--><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency>
3、编写页面(样式待优化)
<form action="${tPath}/upload.do" enctype="multipart/form-data" method="post"><p>上传图片:<input type="file" name="filename"></p><p><input type="submit" value="提交"><input type="reset" value="重置"></p></form>
4、servlet代码
public class UploadFileServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//判断上传的表单是普通表单还是带文件的表单,是返回true,否返回false;if (!ServletFileUpload.isMultipartContent(request)){return;//如果这是一个普通文件我们直接返回}//如果通过了这个if,说明我们的表单是带文件上传的//创建上传文件的保存目录,为了安全建议在WEB-INF目录下,用户无法访问String uploadpath = ServletContext().getRealPath("WEB-INF/Upload");//获取上传文件的保存路径File uploadfile = new File(uploadpath);if (!ists()){uploadfile.mkdir();//如果目录不存在就创建这样一个目录}//临时文件//临时路径,如果上传的文件超过预期的大小,我们将它存放到一个临时目录中,过几天自动删除,或者提醒用户转存为永久String tmppath = ServletContext().getRealPath("WEB-INF/tmp");File file = new File(tmppath);if (!ists()){file.mkdir();//如果目录不存在就创建这样临时目录}//处理上传的文件一般需要通过流来获取,我们可以通过Inputstream(),原生态文件上传流获取,十分麻烦//但是我们都建议使用Apache的文件上传组件来实现,common-fileupload,它需要依赖于common-io组件;try {//1、创建DiskFileItemFactory对象,处理文件上传路径或限制文件大小DiskFileItemFactory factory =
本文发布于:2024-01-29 01:21:25,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170646249211696.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |