在使用SSM框架实现连接数据的登录功能时,
第一步首先导入相应的jar包,然后配置web.xml文件
SSM
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:servlet-mvc.xml
1
mvc
/
EncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
EncodingFilter
/*
第二步,配置SpringMVC层配置文件servlet-mvc.xml
然后配置连接数据的DAO层的配置文件applicationContext.xml
第三步,编写实体类User.java
public class User {
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
在src下创建文件夹mybatis,并编写配置文件mybatis-config.xml用来解析实体类
第四步,在控制层(controller)编写控制类UserController.java
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.jredu.entity.User;
import com.jredu.service.UserService;
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private UserService service;
@RequestMapping("login.do")
public String login(User user,Map map,HttpSession session){
//业务逻辑层,返回模型数据
User realUser=service.getUser(user);
if (realUser!=null) {
//把用户数据保存在session中
session.setAttribute("user", user);
//登录成功
return "success";
}else {
//登录失败
map.put("error", "账号或密码错误");
return "login";
}
}
}
调用业务处理层service层UserService.java
import com.jredu.entity.User;
/**
* 用户业务处理
* @author Administrator
*
*/
public interface UserService {
/**
* 将前台拿到的User到dao层查询,返回User类型
* @param user
* @return
*/
User getUser(User user);
}
对service层接口实现
UserServiceImpl.java,并调用dao层
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
import org.springframework.stereotype.Service;
import com.jredu.dao.UserDao;
import com.jredu.entity.User;
import com.jredu.service.UserService;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserDao dao;
@Override
public User getUser(User user) {
// TODO Auto-generated method stub
//调用dao层查询结果
return dao.selectByCondition(user);
}
}
第五步,dao层UserDao.java
import com.jredu.entity.User;
public interface UserDao {
User selectByCondition(User user);
}
在刚建的文件夹mybatis下创建文件夹mybatis.mappers,并编写对数据库的操作的配置文件UserDao.xml
一个完整的运用SSM框架的登录操作就分为这几步,
还有一个重要的点是,连接数据库(Oracle)的文件jdbc.properties,放在src下
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc\:oracle\:thin\:@localhost\:1521\:orcl
jdbc.username=mybatis
jdbc.password=12345
#\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570
jdbc.initialSize=0
#\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570
jdbc.maxActive=20
#\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2
jdbc.maxIdle=20
#\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2
jdbc.minIdle=1
#\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4
jdbc.maxWait=60000