用户登录

1.写一个用户等登录方法

package com.itheima.controller;

import com.itheima.domain.User;
import com.itheima.domain.Vo;
import com.sun.deploy.net.HttpResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Date;

@Controller
@RequestMapping("/quick")
public class UserController {
    /*
     * 用户登录方法
     * */
    @RequestMapping("/quick16")
    public String quick16(String name, HttpServletRequest request) throws IOException {
        if(name.equals("admin")){
            HttpSession session = request.getSession();
            session.setAttribute(name,name);
            return "hello";
        }else{
            return "redirect:/index.jsp";
        }
    }
}

2.写一个拦截类实现HandlerInterceptor拦截器中的方法

package com.itheima.interceptor;

import org.springframework.lang.Nullable;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class MyInterceptor3 implements HandlerInterceptor{
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        System.out.println("preHandle.....");
        HttpSession session = request.getSession();
        String admin = (String) session.getAttribute("admin");
        if(admin.equals("admin")){
            return true;
        }else{
            request.getRequestDispatcher("/index.jsp").forward(request,response);
            return false;//返回true代表放行  返回false代表不放行
        }
    }
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                           @Nullable ModelAndView modelAndView) throws Exception {
    }
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
                                @Nullable Exception ex) throws Exception {
    }
}

3.在mvc中配置拦截器拦截所有路径,放过登录路径

<!--配置拦截器-->
<mvc:interceptors>
    <mvc:interceptor>
        <!--对哪些资源执行拦截操作-->
        <mvc:mapping path="/**"/>
        <!--配置哪些资源排除拦截操作-->
        <mvc:exclude-mapping path="/quick/quick16"/>
        <bean class="com.itheima.interceptor.MyInterceptor3"/>
    </mvc:interceptor>
</mvc:interceptors>

4说明
1.用户访问http://localhost:8080/quick/quick16?name=admin会成功,之后在访问就没问题
2.用户直接访问其他资源无法访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您提出的问题,我可以给出以下回答: 实现用户登录功能可以通过使用Java Web的技术来完成,可以通过JSP页面来实现用户登录界面,通过Servlet来获取用户的输入信息,然后进行验证,如果验证通过,则可以跳转到目标页面上,使用EL表达式来显示用户名和密码。以下代码演示如何实现: 在登录页面上,通过HTML表单获取用户名和密码 <form action="login" method="post"> <label for="username">用户名:</label> <input type="text" name="username" id="username"><br> <label for="password">密码:</label> <input type="password" name="password" id="password"><br> <input type="submit" value="登录"> </form> 在Servlet中获取用户输入的信息,并进行验证 protected void doPost(HttpServletRequest request, HttpServletResponse response) { String username = request.getParameter("username"); String password = request.getParameter("password"); if ("itcast".equals(username) && "123".equals(password())) { //验证通过,可以跳转到目标页面 request.getRequestDispatcher("/success.jsp").forward(request, response); } else { //验证不通过,可以跳转到错误页面 request.getRequestDispatcher("/error.jsp").forward(request, response); } } 在目标页面success.jsp中使用EL表达式显示用户名和密码 欢迎您,${param.username},您的密码是:${param.password}。 以上就是如何实现用户登录功能的简要说明,希望对您有所帮助。如果您有其他问题,可以随时向我提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值