当前位置: 代码迷 >> Java Web开发 >> 一个文件上传的JSP程序,该如何处理
  详细解决方案

一个文件上传的JSP程序,该如何处理

热度:202   发布时间:2016-04-16 21:44:42.0
一个文件上传的JSP程序
有一个上传文件的JSP程序,运行时可以选择上传的文件,但单击“上传按钮"后,则显示
HTTP Status 404 - /ch10b/servtlet/Upload。共有2个程序,1个是客户端上传给服务器的JSP程序selectFile.jsp,代码如下:
<%@ page contentType="text/html;charset=GBK" %>
<HTML>
<HEAD><TITLE>file upload</TITLE></HEAD>
<BODY>
   <CENTER><H1><B>文件上传</B></H1></CENTER><BR>
<FORM name="selectfile" enctype="multipart/form-data" method="post" action="servtlet/Upload">
 <P>文件名称: 
 <INPUT type="file" name="ulfile" size="20" maxlength="80">
 </P><P> 
 <INPUT type="submit" value="上传"><INPUT type="reset" value="清除">
 </P>
</FORM>
</BODY></HTML>

第2个程序为将文件上传的Servlet程序Upload.java,代码如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Upload extends HttpServlet
{
// 响应POST请求
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException,IOException 
  {
response.setContentType("text/html;charset=GB2312"); //设置响应的MIME类型
PrintWriter out = response.getWriter();     //获得向客户发送数据的输出流
try{
   InputStream source=request.getInputStream();
   String Ph="F:/xiti/ch10/WebContent";
   File f = new File(Ph,"text2.txt");
   FileOutputStream target=new FileOutputStream(f);
   byte buff[]=new byte[1024];
   int temp;
   while((temp=source.read(buff))!=-1)
    {  target.write(buff,0,temp); }
   source.close( );
   target.close( );
           out.println("<HTML><HEAD><TITLE>文件上传</TITLE></HEAD><BODY>");
           out.println("文件已上传<BR>");
     } 
  catch (Exception e)
{  out.println("文件不能上传<BR>");}
   out.println("</BODY></HTML>");
      }
// 处理GET请求
public void doGet(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException
   { doPost(request,response); }
}
请问如何解决,谢谢!

------解决思路----------------------
  相关解决方案