栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb:(练习)十八、Spring学习练习四

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb:(练习)十八、Spring学习练习四

JavaWeb:(练习)十八、Spring学习练习四

JavaWeb:(练习)十八、Spring学习练习四

一、学习目标二、controller包

UserController 三、dao包

UserDao 四、model包

User 五、service包

UserService 六、filter包七、common包八、配置文件

1、pom.xml2、config.properties3、db.xml4、mybatis.xml5、spring.xml6、spring_mybatis.xml7、springmvc.xml8、UserMapper

JavaWeb:(练习)十八、Spring学习练习四 一、学习目标

​ 初次接触Spring框架,学习了Spring的基础,基本了解了Spring的作用和优缺点。

​ 搭建了第一个Spring项目,导入Spring配置文件,学习并练习了IOC控制反转,并且进行Spring Bean管理,以xml配置方式和注解方式分别实现。并且练习了Spring JDBC。由此完成了spring练习一

​ JavaWeb:(练习)十五、Spring学习练习一

​ 在练习一的基础上,学习并练习了Spring AOP、Spring事务管理等。以下是在练习一的基础上,所改变的练习代码。

​ JavaWeb:(练习)十六、Spring学习练习二

​ 在练习一、练习二的基础上,继续学习。练习了spring集成mybatis,并且测试前端发送数据到后端。

​ JavaWeb:(练习)十七、Spring学习练习三

​ 学习前后端交互,修改后一下代码如下

​ 注:并未附上前端代码,在JavaWeb系列中包含前端文件

二、controller包 UserController
package com.ffyc.ssm.controller;

import com.ffyc.ssm.common.CommonResult;
import com.ffyc.ssm.model.User;
import com.ffyc.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSession;



// @Controller
@RestController
@RequestMapping(value = "/userCtl")
public class UserController {

    @Autowired
    UserService userService;

    
    // @ResponseBody
    @RequestMapping(value = "/login")
    public CommonResult login(User user, HttpSession session) {
        try{
            System.out.println(user);
            System.out.println("---------");
            User u = userService.login(user);
            System.out.println(u);

            if (u != null) {
                session.setAttribute("user", u);
                return new CommonResult("登陆成功", 200, u);
            } else {
                return new CommonResult("账号或密码错误", 202, null);
            }
        } catch (Exception e) {
            return new CommonResult("系统错误", 500, null);
        }
    }

    @RequestMapping(value = "/logOut")
    public CommonResult logOut(User user, HttpSession session) {
        return new CommonResult("退出成功", 200, null);
    }
}

三、dao包 UserDao
package com.ffyc.ssm.dao;

import com.ffyc.ssm.model.User;
import org.springframework.stereotype.Repository;

public interface UserDao {

    User login(User user);
}

四、model包 User
package com.ffyc.ssm.model;

import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Repository;

import java.util.Date;

@Repository(value = "user")
public class User {

    private Integer userId;
    private String userAccount;
    private String userPassword;
    

    public User() {
    }

    public User(Integer userId, String userAccount, String userPassword) {
        this.userId = userId;
        this.userAccount = userAccount;
        this.userPassword = userPassword;
    }

    

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserAccount() {
        return userAccount;
    }

    public void setUserAccount(String userAccount) {
        this.userAccount = userAccount;
    }

    public String getUserPassword() {
        return userPassword;
    }

    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", userAccount='" + userAccount + ''' +
                ", userPassword='" + userPassword + ''' +
                '}';
    }

    
}

五、service包 UserService
package com.ffyc.ssm.service;

import com.ffyc.ssm.dao.UserDao;
import com.ffyc.ssm.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service(value = "userService")
@Transactional
public class UserService {

    @Autowired
    UserDao userDao;

    
    public User login(User user) {
        return userDao.login(user);
    }
}

六、filter包
package com.ffyc.ssm.filter;


import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class CorsFilter implements Filter {
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
            throws IOException, ServletException {
        HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
        HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
        //允许携带cookie时不能设置为* 否则前端报错
        httpResponse.setHeader("Access-Control-Allow-Origin", httpRequest.getHeader("origin"));//允许所有请求跨域
        httpResponse.setHeader("Access-Control-Allow-Methods", "*");//允许跨域的请求方法GET, POST, HEAD 等
        httpResponse.setHeader("Access-Control-Allow-Headers", "*");//允许跨域的请求头
        httpResponse.setHeader("Access-Control-Allow-Credentials", "true");//是否携带cookie

        filterChain.doFilter(servletRequest, servletResponse);
    }
}

七、common包
package com.ffyc.ssm.common;

public class CommonResult {

    // 消息
    String message;
    // 状态码
    int code;
    // 数据
    T data;

    public CommonResult() {
    }

    public CommonResult(String message, int code, T data) {
        this.message = message;
        this.code = code;
        this.data = data;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

八、配置文件 1、pom.xml


    4.0.0

    com.example
    ssm
    1.0-SNAPSHOT
    ssm
    war

    
        1.8
        1.8
        5.6.2
    

    
        
        
            org.springframework
            spring-context
            5.2.2.RELEASE
        

        
        
            com.alibaba
            druid
            1.1.10
        

        
        
            mysql
            mysql-connector-java
            8.0.28
        

        
        
            org.springframework
            spring-jdbc
            5.2.2.RELEASE
        

        
            org.springframework
            spring-aspects
            5.2.2.RELEASE
        

        
        
            org.mybatis
            mybatis-spring
            1.3.1
        

        
        
            org.mybatis
            mybatis
            3.4.2
        

        
        
            org.springframework
            spring-webmvc
            5.2.2.RELEASE
        

        
        
            com.google.code.gson
            gson
            2.9.0
        

        
        
            javax.servlet
            javax.servlet-api
            4.0.1
            provided
        

    

    
        
            
                org.apache.maven.plugins
                maven-war-plugin
                3.3.0
            
        
    

2、config.properties
dirverClassName=com.mysql.cj.jdbc.Driver
url = jdbc:mysql://127.0.0.1:3306/ffycdb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
uname = root
password = root
3、db.xml



    

    
        
        
        
        
        
        
        
    



    
    
        
    

    
    


4、mybatis.xml




    

        
    

    
        
    


5、spring.xml





    
    
    

    
    


6、spring_mybatis.xml




    

    
    
        
        
        
    

    
    
        
        
    


7、springmvc.xml



    
    

    
    
        
               
                
            
        
    

8、UserMapper




    
        select * from user
        where user_account = #{userAccount} and user_password = #{userPassword}
    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768756.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号