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