当前页面: 开发资料首页 → JSP 专题 → JSP+Servlet编译出错问题
JSP+Servlet编译出错问题
摘要: JSP+Servlet编译出错问题
源代码如下:
UserLogin.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
User Login </head>
<body>
<form action="/UserLoginServlet" method="POST">
用户:
<input type="text" name="userid">
密码:
<input type="password" name="password">
<input type="submit" value="提交">
<input type="reset" value="取消">
</form>
</body>
UserLoginServlet.java
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class UserLoginServlet extends HttpServlet {
/** Processes requests for both HTTP
GET
and
POST
methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String userid = request.getParameter("userid");
String password = request.getParameter("password");
Connection con;
Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:sql","","");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from user_info");
while (rs.next()) {
if ((userid.equals(rs.getString("userid"))) &&
(password.equals(rs.getString("password")))) {
RequestDispatcher dis=request.getRequestDispatcher("/Main.jsp");
dis.forward(request,response);
} else {
RequestDispatcher dis=request.getRequestDispatcher("/UserLogin.jsp");
dis.forward(request,response);
}
}
} catch (Exception e) {
e.printStackTrace();
}
out.close();
}
//
/** Handles the HTTP GET
method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP POST
method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// }
这些代码实现的是:从JSP运行现实登陆页面,输入存在于数据库中的用户名和密码后,提交给Servlet处理。运行成功的话,会跳转到Main.jsp这个欢迎页面。可是我编译UserLogin.jsp后,输入用户名和密码后(于数据库中的正确相匹配)却提示如下错误:
HTTP Status 404 - /UserLoginServlet
--------------------------------------------------------------------------------
type Status report
message /UserLoginServlet
description The requested resource (/UserLoginServlet) is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.5.9
请各位帮忙看看,是哪里出错了。我个人感觉,应该是JSP没有连接好Servlet的问题,可是不知道哪里改。
问题得到解决,立即给分!
(/UserLoginServlet) is not available.
servlet没设置好。
去web.xml里面设置一下servlet
Hello
com.tvd.servlet.Hello
Hello
/HelloWorld
部署下就行了
web.xml中没有部署好你的servlet
如zuguanqun(小群) 所说
去web.xml里面设置一下servlet
Hello