HTTP状态500 - 实例化servlet类controller.AddFileServlet时出错 [英] HTTP Status 500 - Error instantiating servlet class controller.AddFileServlet

查看:382
本文介绍了HTTP状态500 - 实例化servlet类controller.AddFileServlet时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在WEBCONTENT文件夹中有Jsp文件。我的Jsp文件名是FileUpload.jsp,代码是



I have Jsp file in WEBCONTENT folder. My Jsp file name is FileUpload.jsp and code is

<form id="form1"  action="AddFile" method="post">
            <table>
                <tr>
                    <td>Enter Document Id :</td>
                    <td><input  type="text"  name="id"/></td>
                </tr>
                <tr>
                    <td>Enter Document Name :</td>
                    <td><input  type="text"  name="name"/></td>
                </tr>
                <tr>
                    <td>Upload File  </td>
                    <td><input type="file"  name="doc" />
                </tr>
            </table>
            <p/>
            <input type="submit" value="Upload File to database"/>
        </form>





我的servlet类在src->控制器中,名称为AddFileServelet.java。 Servlet类代码是



And my servlet class in src->controller with name AddFileServelet.java. Servlet class code is

package controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.List;

import javax.servlet.ServletException;
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.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


/**
 * Servlet implementation class AddFileServlet
 */
public class AddFileServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AddFileServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Servlet#getServletConfig()
	 */


	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		System.out.println("Hai");
        try {
            // Apache Commons-Fileupload library classes
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload sfu  = new ServletFileUpload(factory);

            if (! ServletFileUpload.isMultipartContent(request)) {
                System.out.println("sorry. No file uploaded");
                return;
            }

            // parse request
            List items = sfu.parseRequest(request);
            FileItem  docid = (FileItem) items.get(0);
            String documentid =  docid.getString();
            
            FileItem docName = (FileItem) items.get(1);
            String   documentName =  docName.getString();

            // get uploaded file
            FileItem file = (FileItem) items.get(2);
                        
            // Connect to Oracle
            Class.forName("oracle.jdbc.driver.OracleDriver");
            System.out.println("driver loaded");
            Connection con =DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","system","system");
            con.setAutoCommit(false);
            System.out.println("connected");

            PreparedStatement ps = con.prepareStatement("insert into Uploadedfiles values(?,?,?)");
            ps.setString(1, documentid);
            ps.setString(2, documentName);
            // size must be converted to int otherwise it results in error
            ps.setBinaryStream(3, file.getInputStream(), (int) file.getSize());
            ps.executeUpdate();
            con.commit();
            con.close();
            out.println("File Added Successfully");
        }
        catch(Exception ex) {
            out.println( "Error --> " + ex.getMessage());
        }
		
	}

}





和我的网站。 xml代码是



And My Web.xml code is

<pre lang="xml"><servlet>
  <description></description>
  <display-name>AddFile</display-name>
  <servlet-name>AddFile</servlet-name>
  <servlet-class>controller.AddFileServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>AddFile</servlet-name>
  <url-pattern>/AddFile</url-pattern>
</servlet-mapping></pre>





现在我点击提交按钮后运行我的应用程序我得到以下错误



HTTP状态500 - 实例化servlet类controller.AddFileServlet
$时出错b $ b所以请帮助

提前谢谢



Now when i run my application after click on submit button iam getting below error

HTTP Status 500 - Error instantiating servlet class controller.AddFileServlet
So please help
Thanks in advance

推荐答案

您是否已将src文件夹放在WEB-INF目录中?



如果你有,那就是问题所在。你应该在WEB-INF / classes中有src。



/ Darren
Have you put your src folder in the WEB-INF directory ?

If you have then this is the problem. You should have src in WEB-INF/classes.

/Darren


这篇关于HTTP状态500 - 实例化servlet类controller.AddFileServlet时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆