02使用Servlet进行流程控制

登陆的缺点
   A、登陆成功或者失败没有办法实现页面的跳转
       request.getRequestDispatcher("success.jsp").forward(request,response);
   B、JSP的作本身的作用是负责页面的信息的显示,但是我们现在却用jsp进行流程控制
      解决方法: 把流程控制代码写到servlet中

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户登陆页面</title>
</head>
<body>
<h3>用户登陆</h3>
<%--
   必须注意:
     文本框想要进行数据传递必须指定name属性
--%>
<form action="servlet/LoginServlet"  method="post">
    <p>
        账号:<input type="text" name="zh"/>
        <%
         String  msg= (String) request.getAttribute("msg");
         if(msg!=null) {
             out.print(msg);
         }
    %>
    </p>
    <p>
        密码:<input type="text" name="pwd" />
    </p>
    <p>
        <input type="submit"  value="登陆"/>
    </p>
</form>
</body>
</html>

dologin.jsp

public class LoginServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //[1]接受login.jsp传递过来的数据
        String   z= request.getParameter("zh");
        String   p= request.getParameter("pwd");
        //[2]判断用户名和密码是否正确
        boolean  flag=false;
        if("sxt".equals(z)&&"123".equals(p)){
            flag=true;
        }
        //[3]给用户做出响应
        if(flag){
            //转发--可以实现页面的跳转
            request.getRequestDispatcher("../success.jsp").forward(request,response);
        }else{
            request.setAttribute("msg","账号和密码不匹配");
            request.getRequestDispatcher("../login.jsp").forward(request,response);
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值