//index.html
Title
微博首页
欢迎回来{{user.nick}}!
发布微博
登出
注册
登录
insert.html
Title
微博首页
欢迎回来{{user.nick}}!
发布微博
登出
注册
登录
login.html
发布微博页面
reg.html
Title
注册页面
UploadController.class
package cn.tedu.boot51.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
@RestController
public class UploadController {
@RequestMapping("/upload")
public String upload(MultipartFile picFile) throws IOException {
System.out.println("picFile = " + picFile);
//得到文件原始文件名 a.jpg
String fileName = picFile.getOriginalFilename();
//得到后缀名 从最后一个.出现的位置截取到最后
String suffix = fileName.substring(fileName.lastIndexOf("."));
//得到唯一文件名 UUID.randomUUID()得到一个唯一标识符
fileName = UUID.randomUUID()+suffix;
System.out.println("文件名:"+fileName);
//准备保存图片的文件夹路径
String dirPath = "D:/files";
File dirFile = new File(dirPath);
//如果该文件夹不存在 则创建此文件夹
if (!dirFile.exists()){
dirFile.mkdirs();//创建文件夹
}
//得到文件的完整路径
String filePath = dirPath+"/"+fileName;
//把文件保存到此路径 异常抛出
picFile.transferTo(new File(filePath));
System.out.println("文件保存完成! 请去此路径检查文件是否存在 "+filePath);
return fileName;
}
@RequestMapping("/remove")
public void remove(String name){
String filePath = "D:/files/"+name;
new File(filePath).delete();//删除文件
}
}
UserController.class
package cn.tedu.boot51.controller;
import cn.tedu.boot51.entity.User;
import cn.tedu.boot51.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpSession;
@RestController
public class UserController {
@Autowired(required = false)
UserMapper mapper;
@RequestMapping("/reg")
public int reg(@RequestBody User user) {
User u = mapper.selectByUsername(user.getUsername());
if (u != null) {//表示用户已存在
return 2;
}
mapper.insert(user);
return 1;
}
@RequestMapping("/login")
public int login(@RequestBody User user, HttpSession session){
System.out.println("user = " + user);
User u = mapper.selectByUsername(user.getUsername());
if(u!=null){
if(user.getPassword().equals(u.getPassword())){
session.setAttribute("user",u);
return 1;
}
return 3;
}
return 2;
}
@RequestMapping("/currentUser")
public User currentUser(HttpSession session){
//HttpSession 是Object类型 用User接受需要强转
User u = (User)session.getAttribute("user");
return u;
}
@RequestMapping("/logout")
public void logout(HttpSession session){
session.removeAttribute("user");
}
}
WeiboController.class
package cn.tedu.boot51.controller;
import cn.tedu.boot51.entity.User;
import cn.tedu.boot51.entity.WeiBo;
import cn.tedu.boot51.mapper.WeiboMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpSession;
import java.util.Date;
@RestController
public class WeiboController {
@Autowired(required = false)
WeiboMapper mapper;
@RequestMapping("/insert")
public int insert(@RequestBody WeiBo weibo, HttpSession session){
User u = (User) session.getAttribute("user");
if(u==null){
return 2;
}
weibo.setCreated(new Date());
weibo.setUserId(u.getId());
weibo.setNick(u.getNick());
System.out.println("weibo = " + weibo);
mapper.insert(weibo);
return 1;
}
}
WeiBo.class
package cn.tedu.boot51.entity;
import java.util.Date;
public class WeiBo {
private Integer id;
private String content;
private String url;
private String nick;
private Date created;
private Integer userId;
@Override
public String toString() {
return "WeiBo{" +
"id=" + id +
", content='" + content + ''' +
", url='" + url + ''' +
", nick='" + nick + ''' +
", created=" + created +
", userId=" + userId +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getNick() {
return nick;
}
public void setNick(String nick) {
this.nick = nick;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
}
UserMapper.interface
package cn.tedu.boot51.mapper;
import cn.tedu.boot51.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UserMapper {
@Select("select * from user where username=#{username}")
User selectByUsername(String username);
@Insert("insert into user values(null,#{username},#{password},#{nick})")
void insert(User user);
}
WeiboMapper.interface
package cn.tedu.boot51.mapper;
import cn.tedu.boot51.entity.User;
import cn.tedu.boot51.entity.WeiBo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface WeiboMapper {
@Insert("insert into weibo values(null,#{content},#{url},#{nick}," +
"#{created},#{userId})")
void insert(WeiBo weibo);
}



