我做李刚老师的例子:
代码:
D:\myWorkspace\test\WEB-INF\src\lee\LoginServlet.javapackage lee;import javax.servlet.ServletException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.*;import java.io.PrintWriter;
import java.io.IOException;
import java.sql.*;public class LoginServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException {
String errMsg = "";
RequestDispatcher rd;//RequestDispatcher is imported
String username = request.getParameter("username");
String pass = request.getParameter("pass");
try {
DbDao dd = DbDao.instance("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/cara", "root", "stimpy");
ResultSet rs = dd.query("select pass from user_table where name = '"+ username +"'");// ResultSet?
if (rs.next()) {
if (rs.getString("pass").equals(pass)) {
HttpSession session = request.getSession(true);
session.setAttribute("name", username);
rd = request.getRequestDispatcher("/welcome.jsp");//?
rd.forward(request, response);
} else {
errMsg += "your username and password are not fit";
}
} else {
errMsg += "your username does not exist, please register first";
}
} catch (Exception e) {
e.printStackTrace();
}
if (errMsg != null || !errMsg.equals("")) {
rd = request.getRequestDispatch("/login.jsp");
request.setAttribute("err", errMsg);
rd.forward(request, response);
}
}
}
编译:
C:\Users\hp2>javac -cp "D:\myWorkspace\test\WEB-INF\src";"E:\software\apache-tom
cat-6.0.26\lib\servlet-api.jar";"E:\software\apache-tomcat-6.0.26\lib\jsp-api.ja
r" "D:\myWorkspace\test\WEB-INF\src\lee\LoginServlet.java"结果:
D:\myWorkspace\test\WEB-INF\src\lee\LoginServlet.java:38: cannot find symbol
symbol : method getRequestDispatch(java.lang.String)
location: interface javax.servlet.http.HttpServletRequest
rd = request.getRequestDispatch("/login.jsp");
^
1 error这是还缺什么包吗?我以为-cp的class够了
我很菜,请帮忙看一下吧!
代码:
D:\myWorkspace\test\WEB-INF\src\lee\LoginServlet.javapackage lee;import javax.servlet.ServletException;
import javax.servlet.ServletContext;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.*;import java.io.PrintWriter;
import java.io.IOException;
import java.sql.*;public class LoginServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException {
String errMsg = "";
RequestDispatcher rd;//RequestDispatcher is imported
String username = request.getParameter("username");
String pass = request.getParameter("pass");
try {
DbDao dd = DbDao.instance("com.mysql.jdbc.Driver", "jdbc:mysql://localhost:3306/cara", "root", "stimpy");
ResultSet rs = dd.query("select pass from user_table where name = '"+ username +"'");// ResultSet?
if (rs.next()) {
if (rs.getString("pass").equals(pass)) {
HttpSession session = request.getSession(true);
session.setAttribute("name", username);
rd = request.getRequestDispatcher("/welcome.jsp");//?
rd.forward(request, response);
} else {
errMsg += "your username and password are not fit";
}
} else {
errMsg += "your username does not exist, please register first";
}
} catch (Exception e) {
e.printStackTrace();
}
if (errMsg != null || !errMsg.equals("")) {
rd = request.getRequestDispatch("/login.jsp");
request.setAttribute("err", errMsg);
rd.forward(request, response);
}
}
}
编译:
C:\Users\hp2>javac -cp "D:\myWorkspace\test\WEB-INF\src";"E:\software\apache-tom
cat-6.0.26\lib\servlet-api.jar";"E:\software\apache-tomcat-6.0.26\lib\jsp-api.ja
r" "D:\myWorkspace\test\WEB-INF\src\lee\LoginServlet.java"结果:
D:\myWorkspace\test\WEB-INF\src\lee\LoginServlet.java:38: cannot find symbol
symbol : method getRequestDispatch(java.lang.String)
location: interface javax.servlet.http.HttpServletRequest
rd = request.getRequestDispatch("/login.jsp");
^
1 error这是还缺什么包吗?我以为-cp的class够了
我很菜,请帮忙看一下吧!
import javax.servlet.RequestDispatcher;修改以下代码
rd = request.getRequestDispatch("/login.jsp");
RequestDispatcher rd = request.getRequestDispatch("/login.jsp");