此页面无法显示? •确保网址 http://localhost:8080是正确的。
When i Debug my File Uploading Program I Face this type of Error I run this Code in chrome ,chrome work but when i debug this code
,chrome抛出此页面无法显示?
的index.jsp
<%@ page language =“java”contentType =“text / html; charset = ISO-8859-1” 的pageEncoding = “ISO-8859-1” %> 在这里插入标题 ID: 名称: 图片: SeeResult
的Result.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Upload Demo In JSP & Servlet</title>
</head>
<body>
<div id="result">
<img alt="demo" src="images/id.png" height="200" width="150">
</div>
</body>
</html>
ImageProcess.java
enter code here
package com.service;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import org.apache.commons.fileupload.FileItem;
public class ImageProcess {
private static final int IMG_WIDTH=400;
private static final int IMG_HEIGHT=300;
public static boolean processfile(FileItem item,String ImgName,String path){
try {
String name = new File(item.getName()).getName();
File f = new File(path+File.separator+name);
item.write(f);
//This code help you resize and rename your code
File resizefile = new File(path+File.separator+ImgName);
BufferedImage orginalImage=ImageIO.read(f);
int type = orginalImage.getType() ==0 ? BufferedImage.TYPE_INT_ARGB:orginalImage.getType();
BufferedImage resizeImagePng = resizeImage(orginalImage,type);
ImageIO.write(resizeImagePng,"png", resizefile);
f.delete();
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
private static BufferedImage resizeImage(BufferedImage orginalImage,int type){
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(orginalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
return resizedImage;
}
}
FileUploadResizeRename.java
package com.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.service.ImageProcess;
/**
* Servlet implementation class FileUploadResizeRename
*/
@WebServlet("/FileUploadResizeRename")
public class FileUploadResizeRename extends HttpServlet {
private static final long serialVersionUID = 1L;
private int id;
private String name, ImgName;
private static final String path="D:/HypoThesis/WebContent/images";
/**
* @see HttpServlet#HttpServlet()
*/
public FileUploadResizeRename() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
response.setContentType("text/html");
if(ServletFileUpload.isMultipartContent(request)){
List<FileItem> multiparts;
try {
multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for(FileItem item: multiparts){
if(item.isFormField()){
String fieldname= item.getFieldName();
String value= item.getString();
if(fieldname.equals("id")){
id = Integer.parseInt(value);
}else if(fieldname.equals("name")){
name= value;
}
out.println(fieldname+":"+value+"</br>");
}else{
ImgName=id +".png";
if(ImageProcess.processfile(item, ImgName, path)){
out.println(ImgName+"upload successfull");
}else{
out.println("file upload failed");
}
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
request.setAttribute("msg", "Sorry this is only for file upload");
}
}
}
FileUploadHandler.java
package com.controller;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItem;
/**
* Servlet implementation class FileUploadResizeRename
*/
@WebServlet("/FileUploadResizeRename")
public class FileUploadHandler extends HttpServlet {
private static final long serialVersionUID = 1L;
private final String UPLOAD_DIRECTORY="d:/AllFolder/images";
/**
* @see HttpServlet#HttpServlet()
*/
public FileUploadHandler() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
final String UPLOAD_DIRECTORY=getServletConfig().getServletContext().getRealPath("")+"/images";
PrintWriter out = response.getWriter();
response.setContentType("text/html");
out.println(UPLOAD_DIRECTORY+"<BR>");
if(ServletFileUpload.isMultipartContent(request)){
try {
List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for(FileItem item: multiparts){
if(item.isFormField()){
String name= item.getFieldName();
String value= item.getString();
out.println(name+":"+value+"</br>");
}else{
String name = new File(item.getName()).getName();
item.write(new File(UPLOAD_DIRECTORY+File.separator+name));
out.println("File upload Success");
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
request.setAttribute("msg", "This Servlet Handel Only Servlet Request");
}
}
}