学习内容
今天老师主要是带领我们用ssm框架去做了昨天的登陆界面。同时也说了一下我们昨天遇到的一些问题。
-
首先,创建一个maven项目,因为是第一次创建,所以会很慢。
-
导入配置文件:applicationContext.xml、spring-mvc.xml、properties.xml、pom.xml(替换成老师发的文件)
-
在src/main下边新建一个Directory,名字为resources,鼠标右键—>mark directory as —>Resource Root,在resources下面新建一个mapper文件夹,mapper下边新建一个文件,命名为UserMapper.xml,用来对数据库进行增删改查,和dao层对应。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zr.dao.IUserDao">
<select id="findUserByname" parameterType="String" resultType="com.zr.bean.User">
select * from tb_user where username=#{username}
</select>
</mapper>
- 项目结构如下,然后开始编写代码
- bean层,创建实体类user
package com.zr.bean;
public class User {
private int id;
private String username;
private String password;
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public User(){}
public int getId() {
return id;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public void setId(int id) {
this.id = id;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
- dao层,创建一个接口IuserDao
package com.zr.dao;
import com.zr.bean.User;
import java.util.List;
public interface IUserDao {
//接口,登录
User findUserByname(String username);
}
- service层,创建一个接口IUserService,然后再创建一个包用来写实现接口类UserServiceImpl
package com.zr.service;
import com.zr.bean.User;
import java.util.List;
//接口的权限修饰符默认是public
public interface IUserService {
//登录方法,返回布尔类型
boolean login(String name,String password);
}
package com.zr.service.impl;
import com.zr.bean.User;
import com.zr.dao.IUserDao;
import com.zr.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements IUserService {
@Autowired
private IUserDao userDao;
//登录
@Override
public boolean login(String username, String password) {
User user = userDao.findUserByname(username);
if(user!=null&&user.getPassword().equals(password)){
return true;
}
return false;
}
}
- 在controller层,创建类UserController实现页面跳转,登陆成功则跳转到ok.jsp,登陆失败则跳转到failure
package com.zr.controller;
//实现页面跳转
import com.zr.bean.User;
import com.zr.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.jws.WebParam;
import java.util.List;
//加一个注解就知道是控制层
//映射路径,两级路径,类上写大的路径,里边的方法写具体的路径
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private IUserService userService;
//页面跳转
@RequestMapping("login.do")
public ModelAndView login(User user){
//调用service层
//视图解析器
boolean flag = userService.login(user.getUsername(),user.getPassword());
ModelAndView modelAndView = new ModelAndView();
if(flag){
//跳转到成功页面
modelAndView.setViewName("../ok");
}else{
modelAndView.setViewName("../failure");
}
return modelAndView;
}
}
作业
今天的作用是小组确定自己小组要做的项目,并提交一份思维导图。我们小组成员确定了我们要做一个购物系统,组长非常认真负责的和我们进行沟通,最后画了一份思维导图。
总结
今天主要是用ssm框架实现登陆,第一次接触ssm框架,用起来感觉很神奇。登录的时候我一直在想为什么没有写判断函数来判断用户输入的账号和密码是不是和数据库中的数据是一致的,但是他就这么实现了。就很神奇,dao层只需要写一个接口,然后去UserMapper.xml文件里写映射就可以了,就能实现你需要进行的操作了。