spring完成一个完整的业务流程(通过用户ID查询到用户进行登录)

  1. 开发Blogger实体类entity
  2. 开发dao数据库类BloggerDao,用mybatis中mappers映射文件进行映射
  3. 开发业务service接口BloggerService(写方法)
  4. 开发service实现类service.impl BlogServiceImpl(重点@Resource private BloggerDao bloggerDao;进行依赖注入)
    @Service(“bloggerService”)
  5. 开发控制器利用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";
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值