这是JSP页面:
<%@ page contentType="text/html;charset=gb2312"%><script language="JavaScript">
 function checkform(form) {
          if(form.username.value==""||form.userpasswd.value==""){
alert("用户名或密码为空!");
                return false;
          }
          return true;
  }
</script><html>
 <head>
  <title>欢迎光临</title>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br><br><br><br><br>
 <body>
 <form method=post action="manager.jsp" onSubmit="return checkform(this)">
  <table width=500 border=0 height=300 align=center cellspacing=0 cellpadding=0 bgcolor=ffcc00>
   <tbody>
    <tr height="20%">
  <td align="center">
    <br><br>
        <font size=6><b>物业管理系统</b></font>
  </td>
    </tr>
    <tr height="70%">
   <td>
       <table width="100%">
         <tbody>
           <tr height="30%">
             <td width="49%" align="right">
              <font size=5>角 色:</font>     
             </td>
             <td width="51%" align="left">
                <select name="role">
           <option value="0">管理员</option>
           <option value="1">住户</option>
   <option value="2">员工</option>
        </select>
             </td>
           </tr>
           <tr height="30%">
             <td align="right">
                <font size=5>用户名:</font>
             </td>
             <td align="left">
                <input type=text name="username" size=15>
             </td>
           </tr>
           <tr height="30%">
             <td align="right">
                <font size=5>密 码:</font>
             </td>
             <td align="left">
                <input type=password name="userpasswd" size=15>
             </td>
           </tr>
           <tr height="30%">
             <td height="28" align="right">
    <br>
                <input type="submit" value="确定">             
 </td>
             <td align="left">
    <br>
                <input type="reset" value="重置">   
             </td>
           </tr>
        </tbody>
      </table>
  </td>
    </tr>
    <tr height="10%">
  <td>
      <table width="100%">
        <tbody>
          <tr>
            <td align="right">
           <font size=5>访客请点击这里<a href="register.jsp"><b>登记</b></a></font>
         </td>
       </tr>
        </tbody>
      </table>
  </td> 
    </tr>
   </tbody>
  </table>
 </form>
 </body>
</html>
login.java
package login;import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import web.*;
public class Login extends HttpServlet {
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException,IOException
    {
         DBConnect con = new DBConnect();
          HttpSession session = request.getSession();
          
          String username = (String)request.getParameter("username");
          String userpasswd = (String)request.getParameter("userpasswd");
          int role = Integer.parseInt(request.getParameter("role"));
          
          String sql;
          ResultSet rs;
          int id, quality;          sql = "select * from userinfo where username = '" + username + "' and userpassword = '" + userpasswd + "' and role = " + role;
    try{
          rs = con.executeQuery(sql);  
          if(rs.next())
          {
             if(role == 0)
             {
                session.setAttribute("userid",String.valueOf(rs.getInt(1)));
                response.sendRedirect("../manager.jsp");  
             }
             else if(role == 1)
             {
            session.setAttribute("userid",String.valueOf(rs.getInt(1)));
                response.sendRedirect("../customer.jsp");
             }
             else if(role==2)
             {
                 session.setAttribute("userid",String.valueOf(rs.getInt(1)));
                 response.sendRedirect("../staff.jsp");  
             }        
          }
          else
          {
           response.sendRedirect("../login_error.htm");
          }
          
          rs.close();
      con.close();
    }catch(Exception e){
     e.printStackTrace();
    }
    }
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
     doPost(request,response);
    }
}在里面对提交的数据进行判断用户所属类型,怎么应用这个servlet,我感觉自己弄错了 无法对密码进行判断就跳转到Manager.jsp去了
高手教下我怎么做?

解决方案 »

  1.   

    action="manager.jsp"
    这个地方错了!
    action 应该对应你 servlet 在web.xml文件中映射的名字!
    比如login.do!
    你的 容器 会通过action中的值先去 web.xml 中着对应的servlet的路径
    然后再去找到servlet,最后执行servlet中的doPost方法!
    LZ 分给我啊!
      

  2.   

    你登陆的jsp直接跳到manager.jsp去了,这样当然无法用servlet来进行处理。
    我猜你想用的逻辑应该是登陆的jsp到这个servlet,servlet判断之后再去对应的页面。我想更好的方法是用过滤器,专门写个用户登陆情况过滤器。我也才入门,希望看到更好的答案,学习中。
      

  3.   

    一楼能不能说详细点啊 分给你行啊 就是写个web.xml
    <servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>login.Login</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/servlet/login</url-pattern>
    </servlet-mapping>
    我这个写个有问题吗?
      

  4.   

     <servlet>
    <servlet-name> login </servlet-name>
    <servlet-class> login.Login</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name> login </servlet-name>
    <url-pattern> *.view </url-pattern>
    </servlet-mapping>这样你在jsp上只要action的值后缀是.view
    就都会向login类发出请求了!login.Login路径要对哈
      

  5.   

    没错
    <form   method=post   action=" /servlet/login "   onSubmit="return   checkform(this)"> 
      

  6.   

     <form method=post action="/servlet/login" onSubmit="return checkform(this)">?
    再将web.xml改为 <servlet> 
    <servlet-name>   login   </servlet-name> 
    <servlet-class>   login.Login </servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>   login   </servlet-name> 
    <url-pattern>   *.view   </url-pattern> 
    </servlet-mapping> ?
      

  7.   

    action的值后缀是.view ?什么意思?
      

  8.   

    .view 的意思是你只要在页面上action中放的值 后缀是.view
    比如login.view或者 loginout.view
    这些请求都会发到servlet-class制定的servlet中去处理