源代码如下:
UserLogin.jsp<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"><html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>User Login</title>
    </head>
    <body><center>
    <form action="/UserLoginServlet" method="POST">
        
      用户:
    <input type="text" name="userid"><br/>
      密码:
    <input type="password" name="password"><p>
      
    <input type="submit" value="提交">
    <input type="reset" value="取消">
    </form></center>
    </body>
</html>UserLoginServlet.javaimport 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 <code>GET</code> and <code>POST</code> 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();
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> 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 <code>POST</code> 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";
    }
    // </editor-fold>
}这些代码实现的是:从JSP运行现实登陆页面,输入存在于数据库中的用户名和密码后,提交给Servlet处理。运行成功的话,会跳转到Main.jsp这个欢迎页面。可是我编译UserLogin.jsp后,输入用户名和密码后(于数据库中的正确相匹配)却提示如下错误:HTTP Status 404 - /UserLoginServlet--------------------------------------------------------------------------------type Status reportmessage /UserLoginServletdescription The requested resource (/UserLoginServlet) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.5.9请各位帮忙看看,是哪里出错了。我个人感觉,应该是JSP没有连接好Servlet的问题,可是不知道哪里改。
问题得到解决,立即给分!

解决方案 »

  1.   

    (/UserLoginServlet) is not available.
    servlet没设置好。
      

  2.   

    去web.xml里面设置一下servlet 
      <servlet>
    <servlet-name>Hello</servlet-name>
    <servlet-class>com.tvd.servlet.Hello</servlet-class>
    </servlet> <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
      

  3.   

    web.xml中没有部署好你的servlet
      

  4.   

    如zuguanqun(小群) 所说去web.xml里面设置一下servlet 
      <servlet>
    <servlet-name>Hello</servlet-name>
    <!-- 在线面添上你servlet的路径 -->
    <servlet-class>com.tvd.servlet.Hello</servlet-class>
    </servlet> <servlet-mapping>
    <servlet-name>Hello</servlet-name>
    <!--此处我觉得应该加上 /servlet/ -->
    <url-pattern>>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>
      

  5.   

    <form action="/UserLoginServlet" method="POST">
    改为:
     <form action="servlet/UserLoginServlet" method="POST">
      

  6.   

    配置xml文件的时候一定要细心,有一点错都不行,最好使用一些IDE工具。