driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/pro?useUnicode=true&characterEncoding=utf-8
username=root
password=root
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最大等待时间(毫秒)
maxWait=60000
4.2编写mybatis配置文件mybatis_config.xml,在src根目录下新建mybatis_config.xml内容如下:
4.3编写spring-mybatis.xml配置文件,在src根目录下新建spring-mybatis.xml,内容如下:
### direct log messages to stdout ###
log4j.rootLogger=warn, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file ssm1.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=ssm1.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
4.6编写web.xml,在WEB-INF下新建web.xml,内容如下:
ssmdemo2
contextConfigLocation
classpath:spring-mybatis.xml
log4jConfigLocation
classpath:jdbc.properties
log4jRefreshInterval
10000
webAppRootKey
scheduleProject
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
characterEncodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.Log4jConfigListener
springmvc
org.springframework.web.servlet.DispatcherServlet
1
springmvc
/
package cn.syy.ssmdemo2.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping(value="/")
public class LoginController {
@RequestMapping(value="/")
@ResponseBody
public String hello(){
return "hello";
}
}
package cn.syy.ssmdemo2.entity;
public class User {
private Integer id;
private String username;
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
}
package cn.syy.ssmdemo2.dao;
import cn.syy.ssmdemo2.entity.User;
public interface UserMapper {
/**
* 根据username查数据
*/
User getByName(String username);
}
package cn.syy.ssmdemo2.dao.impl;
import javax.annotation.Resource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.stereotype.Repository;
import cn.syy.ssmdemo2.dao.UserMapper;
import cn.syy.ssmdemo2.entity.User;
@Repository
public class UserMapperImpl implements UserMapper {
@Resource
private SqlSessionFactory sqlSessionFactory;
/**
* 根据username查User对象
*/
@Override
public User getByName(String username) {
User user = sqlSessionFactory.openSession()
.selectOne("cn.syy.ssmdemo2.dao.UserMapper.getByName",username);
return user;
}
}
package cn.syy.ssmdemo2.service;
import cn.syy.ssmdemo2.entity.User;
public interface ILoginService {
/**
* 登录逻辑:根据用户名判断用户是否存在,再根据查到用户的密码与页面密码相比较
*/
User isLogin(String username,String password);
}
impl:
ILoginServiceImpl.java
package cn.syy.ssmdemo2.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cn.syy.ssmdemo2.dao.UserMapper;
import cn.syy.ssmdemo2.entity.User;
import cn.syy.ssmdemo2.service.ILoginService;
@Service
public class ILoginServiceImpl implements ILoginService {
@Resource
private UserMapper userDao;
/**
* 登录逻辑:根据用户名判断用户是否存在,再根据查到用户的密码与页面密码相比较
*/
@Override
public User isLogin(String username,String password) {
User user = userDao.getByName(username);
if(user!=null){
return password.equals(user.getPassword())?user:null;
}
return null;
}
}
package cn.syy.ssmdemo2.web.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.syy.ssmdemo2.entity.User;
import cn.syy.ssmdemo2.service.ILoginService;
@Controller
@RequestMapping(value="login")
@Scope("prototype")
public class LoginController {
@Resource
private ILoginService loginService;
/**
* 登录:判断登录是否成功,成功存入session,并打印成功信息,失败提示失败,并打印失败信息
*/
@RequestMapping(value="login")
public String login(String username,String password,HttpServletRequest request){
User user = loginService.isLogin(username, password);
if(user!=null){
System.out.println(username+"登录成功!");
request.getSession().setAttribute("logined",user);
return "login/success";
}
System.out.println(username+"登录失败");
return "login/fail";
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
登录