javaweb项目创建图片服务器

javaweb项目创建图片服务器,第1张

javaweb项目创建图片服务器

        javaweb项目,创建tomcat图片服务器,用于保存用户上传的头像等图片信息。前期项目的新建和正常访问的调试不再说明,本文章仅讲解如何创建一个图片服务器。

1、WebContent下新建imgFile.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% String path = request.getContextPath();%>




Insert title here



 //显示上传的图片文件

2、srccomservlet下,新建 UploadFile.java

package com.servlet;

import java.io.IOException;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;


@WebServlet("/UploadFile")
@MultipartConfig
public class UploadFile extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
  
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		Part part = request.getPart("imgname");  //得到上传的图片对象
		System.out.println(part.getSubmittedFileName()); //输出上传图片原名称

        //通过UUID.randomUUID()与图片原名称拼接,使得存储的图片名称始终唯一,避免冲突
        //fileName 即为最终存入数据库字段值
		String fileName = UUID.randomUUID() + part.getSubmittedFileName();
		System.out.println(fileName);

        //将图片上传到图片服务器,保存在图片服务器webappsimg文件夹中
		part.write("E:\Program Files (x86)\apache-tomcat-8.5.69-files\webapps\img\" + fileName); 
        
        //request携带filename,使得imgFile.jsp中src显示上传的图片
		request.setAttribute("fileName", fileName); 

        //上传成功后,跳转到imgFile.jsp
		request.getRequestDispatcher("./imgFile.jsp").forward(request,response);
	}

}

3、配置tomcat图片服务器

1)解压并修改文件夹名称

        解压项目服务器相同tomcat压缩包,并修改解压后文件夹名称,如apache-tomcat-8.5.69-files

2)修改端口号

        为避免该图片服务器和项目服务器端口号重复,导致无法正产启动,需要修改文件服务器的端口号配置。修改apache-tomcat-8.5.69-filesconf下server.xml文件中的端口号,在原有基础上均+1即可:8005-->8006、8080-->8081、8009-->8010

3)webapps新建img文件夹,用于存放用户上传的图片

        apache-tomcat-8.5.69-files的webapps下新建img文件夹,用来存放用户上传的图片

4)启动图片服务器

(1) 双击apache-tomcat-8.5.69-filesbin的startup.bat文件,启动图片服务器。项目访问期间,该图片服务器需要一直保持开启状态

(2)若双击bat文件启动失败,出现闪退现象,需要另行配置环境变量

①新建环境变量JAVA_HOME,值为jdk安装目录,如C:javajdk1.8.0_121

②新建环境变量JRE_HOME,值为jre安装目录,如C:javajdk1.8.0_121jre

4、启动javaweb项目,测试功能

图片1 用户上传图片

 图片2 上传图片保存于img文件夹下

图片3 跳转至页面 imgFile.jsp,并显示上次上传的图片

5、补充

        本次暂不实现从数据库获取图片名称,根据用户动态显示图片功能。如果大家有兴趣,可以先试试。基本思路是将 UUID.randomUUID() + part.getSubmittedFileName() 拼接得到的fileName存入或更新数据库对应字段,显示页面对应控件值设置为http://localhost:8081/img/fileName

6、推荐课程

        JSP+Servlet+MySql+Tomcat+JDBC项目详细讲解_哔哩哔哩_bilibili

    

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5596650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存