Java中的HttpServlet错误
我为登录屏幕编写了一个简单的java代码。Java中的HttpServlet错误,java,eclipse,Java,Eclipse,我为登录屏幕编写了一个简单的java代码。 下面是代码: Login.java package Banking; import java.io.*; import javax.servlet.*; import java.sql.*; import javax.servlet.http.*; public class Client extends HttpServlet { Connection con; String s3="",s4=""; public voi
下面是代码:
Login.java
package Banking;
import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;
public class Client extends HttpServlet
{
Connection con;
String s3="",s4="";
public void init(ServletConfig sc)throws ServletException
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:thin","sys","orcl as sysdba");
}catch(Exception ee){System.out.println(ee);}
}
public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
{
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
String s1=req.getParameter("user");
String s2=req.getParameter("pwd");
try{
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select name from pass where name=' "+s1+" ' ");
while(rs.next())
{
s3=rs.getString(1);
s4=rs.getString(2);
}
if(s1.equals("")||s2.equals(""))
{
pw.println("invalid");
res.sendRedirect("http://localhost:8080p/tball.gif");
}
else
{
PreparedStatement pst=con.prepareStatement("insert into pass values(?,?)" );
pst.setString(1,s1);
pst.setString(2,s2);
pst.execute();
res.sendRedirect("http://localhost:8080/welcome.html");
}
}catch(Exception e){res.sendRedirect("http://localhost:8080/invalid.html");}
}
}
Data.java
package Banking;
import java.io.*;
import javax.servlet.*;
import java.sql.*;
import javax.servlet.http.*;
public class Client2 extends GenericServlet
{
Connection con;
public void init(ServletConfig sc)throws ServletException
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:oracle:thin","sys","orcl as sysdba");
}catch(Exception ee){System.out.println(ee);}
}
public void service(ServletRequest req,ServletResponse res)throws ServletException,IOException
{ boolean j=true;
String s1=req.getParameter("t1");
String s2=req.getParameter("t2");
String s3=req.getParameter("t3");
String s4=req.getParameter("r");
String s5=req.getParameter("s");
String s6=req.getParameter("t4");
String s7=req.getParameter("t5");
String s8=req.getParameter("t6");
String s9=req.getParameter("s1");
String s10=req.getParameter("t7");
String s11=req.getParameter("t8");
String s12=req.getParameter("t9");
try{
PreparedStatement pst=con.prepareStatement("insert into entry values(?,?,?,?,?,?,?,?,?,?,?,?)" );
pst.setString(1,s1);pst.setString(2,s2);pst.setString(3,s3);pst.setString(4,s4);
pst.setString(5,s5);pst.setString(6,s6);pst.setString(7,s7);pst.setString(8,s8);
pst.setString(9,s9);pst.setString(10,s10);pst.setString(11,s11);pst.setString(12,s12);
pst.execute();
}
catch(Exception e)
{System.out.println(e);}
PrintWriter pw=res.getWriter();
res.setContentType("text/html");
pw.println("inserted.into table..");
}
}
我遇到了很多错误,比如:
GenericServlet cannot be resolved to a type data.java /Myproject/src/Banking line 8 Java Problem
HttpServlet cannot be resolved to a type Login.java /Myproject/src/Banking line 7 Java Problem
HttpServlet cannot be resolved to a type login.java /banking/src/banking line 9 Java Problem
HttpServletRequest cannot be resolved to a type Login.java /Myproject/src/Banking line 20 Java Problem
HttpServletRequest cannot be resolved to a type login.java /banking/src/banking line 22 Java Problem
HttpServletResponse cannot be resolved to a type Login.java /Myproject/src/Banking line 20 Java Problem
HttpServletResponse cannot be resolved to a type login.java /banking/src/banking line 22 Java Problem
ServletConfig cannot be resolved to a type Login.java /Myproject/src/Banking line 12 Java Problem
ServletConfig cannot be resolved to a type data.java /Myproject/src/Banking line 11 Java Problem
ServletConfig cannot be resolved to a type login.java /banking/src/banking line 14 Java Problem
ServletException cannot be resolved to a type Login.java /Myproject/src/Banking line 12 Java Problem
ServletException cannot be resolved to a type Login.java /Myproject/src/Banking line 20 Java Problem
ServletException cannot be resolved to a type data.java /Myproject/src/Banking line 11 Java Problem
ServletException cannot be resolved to a type data.java /Myproject/src/Banking line 19 Java Problem
ServletException cannot be resolved to a type login.java /banking/src/banking line 14 Java Problem
ServletException cannot be resolved to a type login.java /banking/src/banking line 22 Java Problem
ServletRequest cannot be resolved to a type data.java /Myproject/src/Banking line 19 Java Problem
ServletResponse cannot be resolved to a type data.java /Myproject/src/Banking line 19 Java Problem
The import javax.servlet cannot be resolved Login.java /Myproject/src/Banking line 3 Java Problem
The import javax.servlet cannot be resolved Login.java /Myproject/src/Banking line 5 Java Problem
The import javax.servlet cannot be resolved data.java /Myproject/src/Banking line 4 Java Problem
The import javax.servlet cannot be resolved data.java /Myproject/src/Banking line 6 Java Problem
The import javax.servlet cannot be resolved login.java /banking/src/banking line 4 Java Problem
The import javax.servlet cannot be resolved login.java /banking/src/banking line 6 Java Problem
The public type Client must be defined in its own file Login.java /Myproject/src/Banking line 7 Java Problem
The public type Client2 must be defined in its own file data.java /Myproject/src/Banking line 8 Java Problem
如何解决这些错误 您确定已添加LIB吗?检查您的构建路径 您需要按如下方式命名您的类:
public class Login extends HttpServlet
{
// you
}
public class Data extends GenericServlet
{
// .... you code here
}
由于您的文件名为
Login.java
和Data.java
,因此当您收到错误时,请将您的类名从Login.java
更改为Client.java
,并将Data.java
更改为Client2.java
。公共类应该在一个java文件中声明,该文件的名称与类的名称相同。因此,在您的情况下,客户机类必须位于Client.java
中,而Client2类位于Client2.java
中,您需要添加应用程序服务器提供的类路径库,如j2ee.jar
(如果是websphere)或servlet api.jar
(如果是tomcat),您的代码和IDE似乎没有引用servlet-api.jar。检查您的lib文件夹是否存在jar。您可以通过build path.Class命名添加它,正如Deepika所说,servlet-api.jar的jar看起来也没有被检测到。如果您是通过命令提示符编译此文件,请使用“-cp”,然后使用要包含的库的路径。