- 开发Blogger实体类entity
- 开发dao数据库类BloggerDao,用mybatis中mappers映射文件进行映射
- 开发业务service接口BloggerService(写方法)
- 开发service实现类service.impl BlogServiceImpl(重点@Resource private BloggerDao bloggerDao;进行依赖注入)
@Service(“bloggerService”) - 开发控制器利用shiro安全进行控制(@Resource private BloggerService bloggerservice;)
@Controller
@RequestMapping("/blogger")
package com.java1234.entity;
/**
* 博主实体
* @author Lenovo
*
*/
public class Blogger {
private Integer id;//编号
private String userName;//用户名
private String password;//密码
private String nickName;//昵称
private String profile;//关于博主
private String sign;//个性签名
private String imageName;//图片路径
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getProfile() {
return profile;
}
public void setProfile(String profile) {
this.profile = profile;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getImageName() {
return imageName;
}
public void setImageName(String imageName) {
this.imageName = imageName;
}
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;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
**BloggerDao**
package com.java1234.dao;
import com.java1234.entity.Blogger;
/**
* 用户实体Dao
* @author Lenovo
*
*/
public interface BloggerDao {
/**
* 通过用户名查询用户
* @param userName
* @return
*/
public Blogger getByUserName(String userName);
/**
* 查寻博主信息
* @return
*/
public Blogger find();
}
**BloggerMapper**
<?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.java1234.dao.BloggerDao">
<resultMap type="Blogger" id="BloggerResult">
<result property="id" column="id"/>
<result property="userName" column="userName"/>
<result property="password" column="password"/>
<result property="nickName" column="nickName"/>
<result property="profile" column="profile"/>
<result property="sign" column="sign"/>
<result property="imageName" column="imageName"/>
</resultMap>
<select id="getByUserName" parameterType="String" resultMap="BloggerResult">
select * from t_Blogger where userName=#{userName}
</select>
<select id="find" resultMap="BloggerResult">
select * from t_Blogger where id=1;
</select>
</mapper>
BloggerService
package com.java1234.service;
import com.java1234.entity.Blogger;
/**
* 用户接口类
* @author Lenovo
*
*/
public interface BloggerService {
/**
* 通过用户名查询用户
* @param userName
* @return
*/
public Blogger getByUserName(String userName);
/**
* 找到博主传到页面
* @return
*/
public Blogger find();
}
BloggerServiceImpl
package com.java1234.service.impl;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.java1234.dao.BloggerDao;
import com.java1234.entity.Blogger;
import com.java1234.service.BloggerService;
/**
* 博主实现类
* @author Lenovo
*
*/
@Service("bloggerService")
public class BloggerServiceImpl implements BloggerService{
@Resource
private BloggerDao bloggerDao;
public Blogger getByUserName(String userName) {
return bloggerDao.getByUserName(userName);
}
public Blogger find() {
return bloggerDao.find();
}
}
BloggerController
package com.java1234.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.java1234.entity.Blogger;
import com.java1234.service.BloggerService;
import com.java1234.util.CryptographyUtil;
/**
* 博主Controller层
* @author Administrator
*
*/
@Controller
@RequestMapping("/blogger")
public class BloggerController {
@Resource
private BloggerService bloggerService;
@RequestMapping("/login")
public String login(Blogger blogger,HttpServletRequest request){
Subject subject=SecurityUtils.getSubject();
UsernamePasswordToken token=new UsernamePasswordToken(blogger.getUserName(), CryptographyUtil.md5(blogger.getPassword(), "java1234"));
try{
subject.login(token); // 登录验证
return "redirect:/admin/main.jsp";
}catch(Exception e){
e.printStackTrace();
request.setAttribute("blogger", blogger);
request.setAttribute("errorInfo", "用户名或者密码错误!");
return "login";
}
}
}