消息关闭
    暂无新消息!
我想提取出表单里的内容,检查账号密码是否正确,然后跳转页面。。但是不管输入什么,都能够跳转。。
LoginAction.java

public class LoginServlet extends HttpServlet {

    private static Logger logger = Logger.getLogger(LoginServlet.class);
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);
        String account=req.getParameter("textfield");
        String password=req.getParameter("textfield2");
        System.out.println("account:"+account+" password:"+password);
        if("123".equals(account) && "123".equals("password")) {
            resp.sendRedirect("index.html");
        }
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       doPost(req, resp);
    }
}



web.xml

     <servlet>
         <servlet-name>login</servlet-name>
         <servlet-class>com.servlet.LoginServlet</servlet-class>
     </servlet>

     <servlet-mapping>
         <servlet-name>login</servlet-name>
         <url-pattern>/</url-pattern>
     </servlet-mapping>

下面是页面表单的一部分代码:

                  <tr>
                    <td width="24%"><div align="center"><font style="height:1;font-size:9pt; color:#bfdbeb;filter:glow(color=#1070a3,strength=1)">用户</font></div></td>
                    <td width="76%" height="25"><input type="text" name="textfield"  style="width:125px; height:20px; background:#32a2e3; font-size:12px; border:solid 1px #0468a7; color:#14649f;"></td>
                  </tr>
                  <tr>
                    <td><div align="center"><font style="height:1;font-size:9pt; color:#bfdbeb;filter:glow(color=#1070a3,strength=1)">密码</font></div></td>
                    <td height="25"><input type="text" name="textfield2"  style="width:125px; height:20px; background:#32a2e3; font-size:12px; border:solid 1px #0468a7; color:#14649f;"></td>
                  </tr>



不知为何,不管账号密码输入什么,都会跳转,根本没有检验。。

7个回答

︿ 2
"123".equals(account) && "123".equals("password")

"123".equals("password") 这句话有问题,上面的代码不是 &&操作吗?这个不是应该怎么样都不能跳转吧。。。
︿ 1
"123".equals(account) && "123".equals("password")

改为

"123".equals(account) && "123".equals(password)
︿ 1
 @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       doPost(req, resp);
    }

另外doPost再掉他自己干嘛
︿ 0
 if("123".equals(account) && "123".equals("password"))
这一句有问题,短路与后边的 "123".equals("password")永远是false吧?,password为什么要加引号?