我正在使用tomcat 5,当我启动服务器并从webapp文件夹加载我的应用程序时,我的jsp加载但是WEB-INF / classes中的类文件正在自动删除当我加载时它抛出的类文件: this is the error
我的servlet类文件正在删除/不知道它在哪里。
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
// Extend HttpServlet class
public class Upload extends HttpServlet {
// Method to handle GET method request.
public void doGet(HttpServletRequest request, HttpServletResponse
response)throws ServletException, IOException {
PrintWriter out = response.getWriter();
String first_name=request.getParameter("first_name");
String last_name=request.getParameter("last_name");
String email=request.getParameter("email");
String phone_number=request.getParameter("phone_number");
String experience =request.getParameter("experience");
try{
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/interview"
,"root","
");
Statement stmt=con.createStatement();
int rows=stmt.executeUpdate("insert into applicants
values('"+first_name+"','"+last_name+"','"+email+"',"+
Long.valueOf(phone_number
)+","+Integer.valueOf(experience)+")");
con.close();
out.print("Added Sucessfully");
}catch(Exception e){out.print(e);}
}
public void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
doGet(request, response);
}
}
坚持这个
Upload.java
{{1}}
答案 0 :(得分:0)
正如您所说,您正在使用tomcat 5
并支持servlet 2.5
。但您正在使用servlet 3.0
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
见下面的详细信息
有两种解决方案:升级tomcat或使用servlet 2.5
Servlet 2.5部署描述符
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
答案 1 :(得分:0)
尝试将您的servlet类放到src / main / java文件夹中。另外我建议你把它放在com.servlet之类的包中。然后在web.xml中填充类的路径,如下所示:package.MyServlet
答案 2 :(得分:0)
如果您正在使用编译输出到WEB-INF/classes
,那么每次编译应用程序时它都会删除此文件夹。要解决此问题,您应该更改用于编译器输出的文件夹。
如果您曾见过本指南How to Create a Dynamic Web Project in Eclipse,那么您会发现输出文件夹是在网络内容之外创建的。
这允许在开发期间存储/清理编译的文件。最后,当您将应用程序部署到服务器时,应将内容自动复制到WEB-INF/classes
。
由于类文件位于WEB-INF
文件夹下,因此无法从网络外部访问,您可以安全地浏览内容。