首页 > 其他分享 >004.实现用户登录Controller层

004.实现用户登录Controller层

时间:2022-11-20 15:56:06浏览次数:51  
标签:登录 servlet Controller result 004 put import com javax

1. com.imooc.oa.controller创建servlet

package com.imooc.oa.controller;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.imooc.oa.entity.User;
import com.imooc.oa.service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;

@WebServlet("/api/login")
public class LoginServlet extends HttpServlet {
    private UserService userService = new UserService();
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("application/json;charset=utf-8");
        //接收用户输入
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //调用业务逻辑
        Map<Object, Object> result = new LinkedHashMap<>();
        try {
            User user = userService.checkLogin(username, password);
            //处理结果编码,0代表处理成功,非0代表处理失败
            result.put("code", "0");
            result.put("message", "success");
            Map<String, User> data = new LinkedHashMap<String, User>();
            data.put("user", user);
            result.put("data", data);
        }catch (Exception e){
            e.printStackTrace();
            result.put("code", e.getClass().getSimpleName());
            result.put("message", e.getMessage());
        }
        //返回JSON结果   要先添加pom.xml
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        String json = objectMapper.writeValueAsString(result);
        response.getWriter().println(json);
    }
}

2. pom.xml

       <!--Jackson JSON处理包-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.3</version>
        </dependency>

 

标签:登录,servlet,Controller,result,004,put,import,com,javax
From: https://www.cnblogs.com/LLL0617/p/16908691.html

相关文章

  • Chapter 11 - CarLot (CoreData + ArrayController)
    好了,准备工作都做好了。至于布局,这里就不详解了,按照书上的来就行了。我们正常建立Document的程序,然后把NSDocument改成NSPersistentDocument,如图。   记住添加自动......
  • Chapter 11 - CarLot (CoreData + ArrayController) - 准备工作(导出NSPersistentDocum
    在Xamarin.Mac中,没有导出NSPersistentDocument这个类,但是这个类在AppKit库中已经实现了,因为要像书上一样绑定managedObjectContext这个变量,但是NSDocument类中是没有实现的......
  • Ubuntu允许root用户登录
    Ubuntu允许root用户登录由于ubuntu默认不允许root用户远程登录,则需要以下设置:‍以普通用户登录到目标服务器ssh<UserName>@<IPAddress>切换到root用户并设置......
  • 单用户登录注册实现
    首先,我们先来了解一下注册,注册便是申请账户。也就是对数据库的账号库进行新增数据,同时进行验证,验证可以通过js或serlvet来进行实现,下面是我们的以及一个简单注册实例,没有对......
  • 我的第一个项目(二):使用Vue做一个登录注册界面
    好家伙, 顶不住了,太多的bug,本来是想把背景用canvas做成动态的,但是,出现了各种问题为了不耽误进度,我们先把一个简单的登录注册界面做出来 来看看效果:  (看上去还......
  • 登录注册相关实现
    目录实现一个网页未登录时自动跳转至登录界面?用户名与密码正确后登录又如何跳转至首页(或者其他页面)?实现一个网页未登录时自动跳转至登录界面?在地址栏输入url之后,如果当前......
  • springboot controller
    传值@RestControllerpublicclassHelloController{@GetMapping("/hello")publicStringhello(Stringnickname){return"我是帅哥"+nickname;}}http://l......
  • SSH利用私钥登录时一个简单错误的解决过程
    SSH利用私钥登录时一个简单错误的解决过程问题描述在一次渗透测试过程中,利用linpeas.sh脚本扫描有无本地提权漏洞,发现了目标靶机有SSH私钥,并且又相应的权限读取,因此从lin......
  • WordPress修改后台登录地址
    最近网站总是收到一些国外IP的恶意登录信息,多的时候一天几十次,试验了网上介绍的很多方法,像登录页面后面加参数,又或加验证码,都无法彻底解决这个问题,因为都不是人工访问该页......
  • 小程序登录系统
    小程序登录简单分为以下几步:使用wx.login获取code值获取code值后再加AppIDappsecretcode传给后端后端调接口拿到seesion_keyopenid返回token前端存储token小程......