03-尚硅谷书城案例

7.2、IDEA Debug 调试的使用

7.2.1、Debug 调试代码,首先需要两个元素:断点 + Debug 启动服务器

在这里插入图片描述
一般来说:断点放在代码的第一行或者出现bug代码的上一行

7.2.2、测试工具栏

在这里插入图片描述
1.让代码往下执行一行:
在这里插入图片描述
2.可以进入当前方法体内(自己写的代码,非框架源代码):
在这里插入图片描述
3.跳出当前方法体外:
在这里插入图片描述
4.强制进入当前方法体内:
在这里插入图片描述
5.停在光标所在行(相当于临时断点):
在这里插入图片描述

7.2.3、变量窗口

变量窗口:它可以查看当前方法范围内所有有效的变量
在这里插入图片描述

7.2.4、方法调用栈窗口

1、方法调用栈可以查看当前线程有哪些方法调用信息
2、下面的调用上一行的方法
在这里插入图片描述

7.2.5、其他常用调式相关按钮:

在这里插入图片描述

8、用户登录

分析:
在这里插入图片描述
代码实现:
添加 LoginServlet ,并配置 web.xml 使其部署到服务器上

package com.aiguigu.web;

import com.aiguigu.pojo.User;
import com.aiguigu.service.UserService;
import com.aiguigu.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class LoginServlet extends HttpServlet {
   private UserService userService =  new UserServiceImpl();
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取请求参数
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        //判断用户名和密码 如果 == null 说明登录失败
        if (userService.login(new User(null,username,password,null)) == null){
            //用户名或密码错误
            System.out.println("用户名[" + username + "]或密码[" + password + "]错误");
            //跳回登录页面
            req.getRequestDispatcher("/pages/user/login.html").forward(req,resp);
        }else {
            //跳转到 login_success.html
            req.getRequestDispatcher("/pages/user/login_success.html").forward(req,resp);
        }
    }
}

修改 login.html 表单的路径,并添加 post 请求,添加 base路径
在这里插入图片描述
在这里插入图片描述
打开浏览器进入 login.html 页面 按 F12 看到有报红的资源样式需要去修改路径

login_success.html 页面也添加 base 路径 修改有报红的样式
在这里插入图片描述
对获得到的参数进行判断并对结果进行跳转

package com.aiguigu.web;

import com.aiguigu.pojo.User;
import com.aiguigu.service.UserService;
import com.aiguigu.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class LoginServlet extends HttpServlet {
  private UserService userService =  new UserServiceImpl();
   @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       //获取请求参数
       String username = req.getParameter("username");
       String password = req.getParameter("password");

       //判断用户名和密码 如果 == null 说明登录失败
       if (userService.login(new User(null,username,password,null)) == null){
           //用户名或密码错误
           System.out.println("用户名[" + username + "]或密码[" + password + "]错误");
           //跳回登录页面
           req.getRequestDispatcher("/pages/user/login.html").forward(req,resp);
       }else {
           //跳转到 login_success.html
           req.getRequestDispatcher("/pages/user/login_success.html").forward(req,resp);
       }
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值