package com.mlxp.controller;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.FilteredImageSource;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import Acme.JPM.Encoders.GifEncoder;
import com.eteks.awt.PJAGraphicsExtension;
import com.eteks.awt.PJAGraphicsManager;
import com.eteks.awt.PJAImage;
import com.eteks.filter.Web216ColorsFilter;
@Controller
@RequestMapping("/login")
public class LoginController {
@RequestMapping("/checkLogin")
public void checkLogin(String logintype,String username, String password, String code ,HttpServletRequest request,
HttpServletResponse response, ModelMap model) {
System.out.println("checkLogin");
int status = 0;
String result = "???";
if(username==null || password == null ){
status = 2;
result = "请输入用户名和密码!";
}else{
//验证码
String maskCode = (String)request.getSession().getAttribute("maskCode");
if(maskCode==null || "".equals(maskCode) || code==null ){
status = 4;
result = "验证超时";
}else{
maskCode = maskCode.toLowerCase();
code = code.toLowerCase();
if(!maskCode.equals(code)){
status = 5;
result = "验证码输入错误";
}else{
if("mlxp".equals(username)&&"123456".equals(password)){
status = 6;
result = "登陆成功";
request.getSession().setAttribute("username", "mlxp");
}else{
status = 7;
result = "用户名或密码错误";
}
}
}
}
//xml
StringBuffer xml = new StringBuffer();
xml.append("<root>");
xml.append("<result>"+result+"</result>");
xml.append("<status>"+status+"</status>");
xml.append("</root>");
responseXMLString(response, xml.toString());
}
@RequestMapping("/logout")
public String logout(HttpServletRequest request){
request.getSession().removeAttribute("username");
return "login";
}
/**
* 生成验证码
* @throws IOException
*/
@RequestMapping("/maskCode")
public void maskCode(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 产生4位随机数字
Random random = new Random();
String sRand = "";
for (int i = 0; i < 4; i++) {
String rand = String.valueOf(random.nextInt(10));
sRand += rand;
}
// 设定字体
String fontPath = request.getSession().getServletContext().getRealPath("/fonts");
PJAGraphicsManager graphicsManager;
graphicsManager = PJAGraphicsManager.getDefaultGraphicsManager();
graphicsManager.loadFonts(fontPath);
// 画图
Image localImage = new PJAImage(46, 20);
Object localObject = localImage.getGraphics();
((PJAGraphicsExtension) localObject).setFont("", 1, 14);
((Graphics) localObject).setColor(Color.gray);
((Graphics) localObject).draw3DRect(0, 0, 45, 19, false);
((Graphics) localObject).setColor(Color.black);
((Graphics) localObject).drawString(sRand, 5, 16);
Random localRandom = new Random(System.currentTimeMillis());
for (int i = 0; i < 80; ++i) {
int j = localRandom.nextInt(46);
int k = localRandom.nextInt(20);
((Graphics) localObject).drawLine(j, k, j, k);
}
sendGIFImage(localImage, response);
//将验证码存入session
request.getSession().setAttribute("maskCode", sRand);
}
/**
* 将图片输出到浏览器
*/
public void sendGIFImage(Image paramImage, HttpServletResponse response)
throws ServletException, IOException {
// 禁止图像缓存。
response.setContentType("image/gif");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
ServletOutputStream localServletOutputStream = response.getOutputStream();
try {
new GifEncoder(paramImage, localServletOutputStream).encode();
} catch (IOException localIOException) {
new GifEncoder(new FilteredImageSource(paramImage.getSource(),new Web216ColorsFilter()), localServletOutputStream).encode();
}
localServletOutputStream.flush();
}
public void responseXMLString(HttpServletResponse response, String xml){
response.setContentType("application/xml");
response.setCharacterEncoding("UTF-8");
PrintWriter out = null;
try {
out = response.getWriter();
out.print(xml.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null){
out.close();
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringMVC框架下使用jQueryAJAX进行数据交互
共87个文件
jar:33个
jsp:8个
java:7个
需积分: 47 14 下载量 120 浏览量
2017-11-24
11:42:08
上传
评论 1
收藏 8.14MB RAR 举报
温馨提示
SpringMVC框架下使用jQueryAJAX进行数据交互的一个DEMO http://blog.csdn.net/lazyrabbitlll/article/details/78615309
资源推荐
资源详情
资源评论
收起资源包目录
Ajax_demo.rar (87个子文件)
Ajax_demo
.externalToolBuilders
org.eclipse.wst.jsdt.core.javascriptValidator (1).launch 548B
WebContent
css
rabb.css 2KB
default.css 1003B
images
login_icon2.png 19KB
login_icon1.png 19KB
sx.png 18KB
87422.jpeg 140KB
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 3KB
pages
login.jsp 3KB
index.jsp 2KB
testNum.jsp 367B
error.jsp 395B
ajax.jsp 5KB
success.jsp 366B
lib
jackson-mapper-asl-1.9.13.jar 762KB
org.springframework.test-3.0.5.RELEASE.jar 200KB
commons-codec-1.3.jar 46KB
commons-logging-1.0.4.jar 37KB
dom4j-1.6.1.jar 307KB
org.springframework.transaction-3.0.5.RELEASE.jar 226KB
org.springframework.context-3.0.5.RELEASE.jar 653KB
commons-beanutils-1.7.0.jar 184KB
org.springframework.beans-3.0.5.RELEASE.jar 542KB
org.springframework.expression-3.0.5.RELEASE.jar 166KB
commons-io-2.0.1.jar 156KB
pja.jar 140KB
commons-logging-1.1.1.jar 59KB
org.springframework.asm-3.0.5.RELEASE.jar 52KB
pjatools.jar 109KB
org.springframework.web.servlet-3.0.5.RELEASE.jar 409KB
org.springframework.web-3.0.5.RELEASE.jar 386KB
commons-httpclient-3.0-rc4.jar 272KB
fastjson-1.2.2.jar 400KB
org.springframework.core-3.0.5.RELEASE.jar 373KB
commons-fileupload-1.2.2.jar 58KB
org.springframework.aop-3.0.5.RELEASE.jar 314KB
commons-collections-3.2.jar 558KB
commons-discovery-0.2.jar 70KB
ezmorph-1.0.5.jar 84KB
commons-io-2.2.jar 170KB
jackson-core-asl-1.9.13.jar 227KB
commons-lang-2.3.jar 240KB
org.springframework.orm-3.0.5.RELEASE.jar 326KB
org.springframework.context.support-3.0.5.RELEASE.jar 99KB
json-lib-2.4-jdk15.jar 155KB
jackson-all-1.7.6.jar 932KB
org.springframework.aspects-3.0.5.RELEASE.jar 35KB
fonts
Tahoma.pjaf 217KB
CVS
Root 39B
Entries 48B
Repository 31B
404.jsp 363B
js
jquery-1.4.4.min.js 77KB
jquery.form_utf8.js 30KB
echarts.js 2.42MB
jquery-3.2.1.min.js 85KB
json2.js 17KB
index.jsp 76B
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.common.component 458B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs 117B
.jsdtscope 517B
org.eclipse.jdt.core.prefs 598B
src
spring-mvc.xml 3KB
com
mlxp
controller
LoginController.java 6KB
ExceptionController.java 501B
AjaxController.java 1KB
DrawController.java 2KB
entity
ChartData.java 600B
spring
UTF8StringHttpMessageConverter.java 3KB
listener
InitDataListener.java 2KB
spring.xml 843B
.project 1KB
.classpath 852B
.tomcatplugin 369B
build
classes
spring-mvc.xml 3KB
com
mlxp
controller
LoginController.class 7KB
DrawController.class 2KB
AjaxController.class 2KB
ExceptionController.class 408B
entity
ChartData.class 1KB
spring
UTF8StringHttpMessageConverter.class 5KB
listener
InitDataListener.class 2KB
spring.xml 843B
共 87 条
- 1
资源评论
lazyRabbit丶
- 粉丝: 7
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 什么是移动应用开发-关于移动应用开发的相关介绍
- 第二组汇报 PPT.pptx
- 什么是大数据开发-相关介绍-关于大数据开发的相关介绍
- 什么是软件测试-相关介绍-关于软件测试的相关介绍
- 前端开发-什么是前端开发-关于前端开发的一些相关介绍
- Sora AI-关于文生视频的使用场景说明
- suno AI文生视频的相关教程和介绍使用
- 什么是后端开发-关于后端开发的一些小介绍分享
- Jurassic Pack Vol. II Dinosaurs 侏罗纪包卷恐龙二号Unity游戏模型资源unitypackage
- Jurassic Pack Vol. III Dinosaurs 侏罗纪包卷恐龙三号Unity游戏模型资源unitypackag
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功