forked from p4fmevgyr/XYSH
Compare commits
30 Commits
@ -0,0 +1,22 @@
|
|||||||
|
package com.controller.admin;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import com.po.Auser;
|
||||||
|
import com.service.admin.AdminService;
|
||||||
|
@Controller
|
||||||
|
public class AdminController {
|
||||||
|
@Autowired
|
||||||
|
private AdminService adminService;
|
||||||
|
@RequestMapping("/admin")
|
||||||
|
public String toLogin(@ModelAttribute Auser auser) {
|
||||||
|
return "admin/login";
|
||||||
|
}
|
||||||
|
@RequestMapping("admin/login")
|
||||||
|
public String login(@ModelAttribute Auser auser, Model model, HttpSession session) {
|
||||||
|
return adminService.login(auser, model, session);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package com.controller.admin;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import com.service.admin.AdminEmailAndUserService;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/admin")
|
||||||
|
public class AdminEmailAndUserController extends BaseController{
|
||||||
|
@Autowired
|
||||||
|
private AdminEmailAndUserService adminEmailAndUserService;
|
||||||
|
@RequestMapping("/selectEmail")
|
||||||
|
public String selectAllEmail(Model model) {
|
||||||
|
return adminEmailAndUserService.selectAllEmail(model);
|
||||||
|
}
|
||||||
|
@RequestMapping("/delete")
|
||||||
|
public String delete(Integer id) {
|
||||||
|
return adminEmailAndUserService.delete(id);
|
||||||
|
}
|
||||||
|
@RequestMapping("/selectUser")
|
||||||
|
public String selectUser(Model model) {
|
||||||
|
return adminEmailAndUserService.selectBuserEmail(model);
|
||||||
|
}
|
||||||
|
@RequestMapping("/lock")
|
||||||
|
public String lock(Integer id) {
|
||||||
|
return adminEmailAndUserService.lock(id);
|
||||||
|
}
|
||||||
|
@RequestMapping("/unLock")
|
||||||
|
public String unLock(Integer id) {
|
||||||
|
return adminEmailAndUserService.unLock(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package com.controller.before;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
|
||||||
|
import com.exception.UserLoginNoException;
|
||||||
|
@Controller
|
||||||
|
public class BaseBeforeController {
|
||||||
|
/**
|
||||||
|
* 前台用户登录权限控制,处理方法执行前执行该方法
|
||||||
|
* @throws UserLoginNoException
|
||||||
|
*/
|
||||||
|
@ModelAttribute
|
||||||
|
public void isLogin(HttpSession session, HttpServletRequest request) throws UserLoginNoException {
|
||||||
|
if(session.getAttribute("emailuser") == null){
|
||||||
|
throw new UserLoginNoException("没有登录");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.controller.admin;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
|
||||||
|
import com.exception.AdminLoginNoException;
|
||||||
|
@Controller
|
||||||
|
public class BaseController {
|
||||||
|
/**
|
||||||
|
* 登录权限控制,处理方法执行前执行该方法
|
||||||
|
* @throws AdminLoginNoException
|
||||||
|
*/
|
||||||
|
@ModelAttribute
|
||||||
|
public void isLogin(HttpSession session, HttpServletRequest request) throws AdminLoginNoException {
|
||||||
|
if(session.getAttribute("auser") == null){
|
||||||
|
throw new AdminLoginNoException("没有登录");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,106 @@
|
|||||||
|
package com.controller.before;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
|
||||||
|
import javax.servlet.ServletOutputStream;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import com.po.Email;
|
||||||
|
import com.service.before.EmailService;
|
||||||
|
import com.util.MyUtil;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/email")
|
||||||
|
public class EmailController extends BaseBeforeController{
|
||||||
|
@Autowired
|
||||||
|
private EmailService emailService;
|
||||||
|
/**
|
||||||
|
* 写信
|
||||||
|
*/
|
||||||
|
@RequestMapping("/write")
|
||||||
|
public String write(Email myemail, Model model, HttpServletRequest request, HttpSession session) {
|
||||||
|
return emailService.write(myemail,model,request,session);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 回复初始化
|
||||||
|
*/
|
||||||
|
@RequestMapping("/reEmailInit")
|
||||||
|
public String reEmailInit(Integer id, Model model, HttpSession session) {
|
||||||
|
return emailService.reEmailInit(id, model);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 收信
|
||||||
|
*/
|
||||||
|
@RequestMapping("/recieve")
|
||||||
|
public String recieve(Model model, HttpSession session) {
|
||||||
|
return emailService.recieve(model, session);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 已发送
|
||||||
|
*/
|
||||||
|
@RequestMapping("/send")
|
||||||
|
public String send(Model model, HttpSession session) {
|
||||||
|
return emailService.send(model, session);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 打开信件看详情
|
||||||
|
*/
|
||||||
|
@RequestMapping("/detail")
|
||||||
|
public String detail(Model model, Integer id) {//id接收参数id
|
||||||
|
return emailService.detail(model, id);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 删除一个邮件
|
||||||
|
*/
|
||||||
|
@RequestMapping("/deleteOne")
|
||||||
|
public String deleteOne(Integer id) {//id接收参数id
|
||||||
|
return emailService.deleteOne(id);
|
||||||
|
}
|
||||||
|
/***
|
||||||
|
* 删除多个邮件
|
||||||
|
*/
|
||||||
|
@RequestMapping("/deleteMore")
|
||||||
|
public String deleteMore(Integer ids[]) {//id接收参数id
|
||||||
|
return emailService.deleteMore(ids);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 下载附件,该方法不访问数据库,故只写控制层
|
||||||
|
*/
|
||||||
|
@RequestMapping("/down")
|
||||||
|
public String down(String fileid, HttpServletRequest request, HttpServletResponse response) {//fileid接收参数fileid
|
||||||
|
String aFilePath = null; //要下载的文件路径
|
||||||
|
FileInputStream in = null; //输入流
|
||||||
|
ServletOutputStream out = null; //输出流
|
||||||
|
try {
|
||||||
|
//从workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps下载
|
||||||
|
aFilePath = request.getServletContext().getRealPath("uploadfiles");
|
||||||
|
//设置下载文件使用的报头
|
||||||
|
response.setHeader("Content-Type", "application/x-msdownload" );
|
||||||
|
response.setHeader("Content-Disposition", "attachment; filename="
|
||||||
|
+ MyUtil.toUTF8String(fileid));
|
||||||
|
// 读入文件
|
||||||
|
in = new FileInputStream(aFilePath + "\\"+ fileid);
|
||||||
|
//得到响应对象的输出流,用于向客户端输出二进制数据
|
||||||
|
out = response.getOutputStream();
|
||||||
|
out.flush();
|
||||||
|
int aRead = 0;
|
||||||
|
byte b[] = new byte[1024];
|
||||||
|
while ((aRead = in.read(b)) != -1 & in != null) {
|
||||||
|
out.write(b,0,aRead);
|
||||||
|
}
|
||||||
|
out.flush();
|
||||||
|
in.close();
|
||||||
|
out.close();
|
||||||
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
package com.controller.before;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import com.po.Buser;
|
||||||
|
import com.service.before.UserService;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/user")
|
||||||
|
public class UserController {
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
@RequestMapping("/register")
|
||||||
|
public String register(@ModelAttribute Buser buser,Model model, HttpSession session, String code) {
|
||||||
|
return userService.register(buser, model, session, code);
|
||||||
|
}
|
||||||
|
@RequestMapping("/login")
|
||||||
|
public String login(@ModelAttribute Buser buser,Model model, HttpSession session, String code) {
|
||||||
|
return userService.login(buser, model, session, code);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 转到登录页面
|
||||||
|
*/
|
||||||
|
@RequestMapping("/toLogin")
|
||||||
|
public String toLogin(Model model) {
|
||||||
|
return userService.toLogin(model);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 转到注册页面
|
||||||
|
*/
|
||||||
|
@RequestMapping("/toRegister")
|
||||||
|
public String toRegister(Model model) {
|
||||||
|
return userService.toRegister(model);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 修改密码
|
||||||
|
*/
|
||||||
|
@RequestMapping("/update")
|
||||||
|
public String update(Model model, HttpSession session, String bpwd) {
|
||||||
|
return userService.update(model, session, bpwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,95 @@
|
|||||||
|
package com.controller.before;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Font;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.util.Random;
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.servlet.ServletException;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
/**
|
||||||
|
* 验证码
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
public class ValidateCodeController {
|
||||||
|
private char code[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
|
||||||
|
'k', 'm', 'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
|
||||||
|
'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
|
||||||
|
'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '2',
|
||||||
|
'3', '4', '5', '6', '7', '8', '9' };
|
||||||
|
private static final int WIDTH = 50;
|
||||||
|
private static final int HEIGHT = 20;
|
||||||
|
private static final int LENGTH = 4;
|
||||||
|
@RequestMapping("/validateCode")
|
||||||
|
public void validateCode(HttpServletRequest request,
|
||||||
|
HttpServletResponse response) throws ServletException, IOException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
// 设置响应报头信息
|
||||||
|
response.setHeader("Pragma", "No-cache");
|
||||||
|
response.setHeader("Cache-Control", "no-cache");
|
||||||
|
response.setDateHeader("Expires", 0);
|
||||||
|
// 设置响应的MIME类型
|
||||||
|
response.setContentType("image/jpeg");
|
||||||
|
|
||||||
|
BufferedImage image = new BufferedImage(WIDTH, HEIGHT,
|
||||||
|
BufferedImage.TYPE_INT_RGB);
|
||||||
|
Font mFont = new Font("Arial", Font.TRUETYPE_FONT, 18);
|
||||||
|
Graphics g = image.getGraphics();
|
||||||
|
Random rd = new Random();
|
||||||
|
|
||||||
|
// 设置背景颜色
|
||||||
|
g.setColor(new Color(rd.nextInt(55) + 200, rd.nextInt(55) + 200, rd
|
||||||
|
.nextInt(55) + 200));
|
||||||
|
g.fillRect(0, 0, WIDTH, HEIGHT);
|
||||||
|
|
||||||
|
// 设置字体
|
||||||
|
g.setFont(mFont);
|
||||||
|
|
||||||
|
// 画边框
|
||||||
|
g.setColor(Color.black);
|
||||||
|
g.drawRect(0, 0, WIDTH - 1, HEIGHT - 1);
|
||||||
|
|
||||||
|
// 随机产生的验证码
|
||||||
|
String result = "";
|
||||||
|
for (int i = 0; i < LENGTH; ++i) {
|
||||||
|
result += code[rd.nextInt(code.length)];
|
||||||
|
}
|
||||||
|
HttpSession se = request.getSession();
|
||||||
|
se.setAttribute("code", result);
|
||||||
|
|
||||||
|
// 画验证码
|
||||||
|
for (int i = 0; i < result.length(); i++) {
|
||||||
|
g.setColor(new Color(rd.nextInt(200), rd.nextInt(200), rd
|
||||||
|
.nextInt(200)));
|
||||||
|
g.drawString(result.charAt(i) + "", 12 * i + 1, 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 随机产生2个干扰线
|
||||||
|
for (int i = 0; i < 2; i++) {
|
||||||
|
g.setColor(new Color(rd.nextInt(200), rd.nextInt(200), rd
|
||||||
|
.nextInt(200)));
|
||||||
|
int x1 = rd.nextInt(WIDTH);
|
||||||
|
int x2 = rd.nextInt(WIDTH);
|
||||||
|
int y1 = rd.nextInt(HEIGHT);
|
||||||
|
int y2 = rd.nextInt(HEIGHT);
|
||||||
|
g.drawLine(x1, y1, x2, y2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 释放图形资源
|
||||||
|
g.dispose();
|
||||||
|
try {
|
||||||
|
OutputStream os = response.getOutputStream();
|
||||||
|
|
||||||
|
// 输出图像到页面
|
||||||
|
ImageIO.write(image, "JPEG", os);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,71 @@
|
|||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||||
|
<%
|
||||||
|
String path = request.getContextPath();
|
||||||
|
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
|
||||||
|
%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<base href="<%=basePath%>">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>后台登录</title>
|
||||||
|
<style type="text/css">
|
||||||
|
table{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.textSize{
|
||||||
|
width: 120px;
|
||||||
|
height: 25px;
|
||||||
|
}
|
||||||
|
* {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
font-family: Arial, Helvetica, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
margin: 10px 10px auto;
|
||||||
|
background-image: url(images/bb.jpg);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
//确定按钮
|
||||||
|
function gogo(){
|
||||||
|
document.forms[0].submit();
|
||||||
|
}
|
||||||
|
//取消按钮
|
||||||
|
function cancel(){
|
||||||
|
document.forms[0].action = "";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form action="admin/login" modelAttribute="auser" method="post">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2"><img src="images/login.gif"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>姓名:</td>
|
||||||
|
<td>
|
||||||
|
<form:input path="aname" cssClass="textSize"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>密码:</td>
|
||||||
|
<td>
|
||||||
|
<form:password path="apwd" cssClass="textSize" maxlength="20"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="image" src="images/ok.gif" onclick="gogo()" >
|
||||||
|
<input type="image" src="images/cancel.gif" onclick="cancel()" >
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form:form>
|
||||||
|
${msg }
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in new issue