A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

使用技术 jQuery druid MySQL Jackson AJAX JSON

话不多说直接上代码
Axitrader返佣https://www.kaifx.cn/broker/axitrader.html

–JSP页面























管理员登录




用户名:







密码:







验证码:









--------------------------------------------------------------------------------





记住密码  




记住密码  















${sessionScope.msg1}

${sessionScope.msg2}




登录失败!









123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293

Servlet—登录

package web;

import service.UserService;

import service.impl.UserServiceImpl;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.*;

import java.io.IOException;

import java.net.URL;

import java.net.URLEncoder;

/**

* @author: QiLin

* @date: 2020/8/1 14:32

* @version: 1.0

*/

@WebServlet( "/Login")

public class Login extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

String user = request.getParameter("user");

String pwd = request.getParameter("password");

String code = request.getParameter("verifycode");

String jzmm = request.getParameter("cookie");

String check_card = (String) request.getSession().getAttribute("check_card");

HttpSession session = request.getSession();

if (code.equalsIgnoreCase(check_card)) {

UserService userService = new UserServiceImpl();

int login = userService.login(user, pwd);

if (login == 1) {

if ( jzmm !=null && jzmm.equals("true") ) {

String username = URLEncoder.encode(user,"UTF-8");

String userpwd = URLEncoder.encode(user+"pwd","UTF-8");

Cookie name = new Cookie(username,username);

Cookie pwdpwd = new Cookie(userpwd,pwd);

Cookie jzmmm = new Cookie("jzmm",jzmm);

name.setMaxAge(1*60*60);

pwdpwd.setMaxAge(1*60*60);

jzmmm.setMaxAge(1*60*60);

session.setAttribute("username", user);

session.setAttribute("password", pwd);

response.addCookie(name);

response.addCookie(pwdpwd);

response.addCookie(jzmmm);

request.setAttribute("user",user);

request.getRequestDispatcher("index.jsp").forward(request,response);

} else {

request.setAttribute("user",user);

request.getRequestDispatcher("index.jsp").forward(request,response);

}

} else {

session.removeAttribute("msg1");

session.setAttribute("msg2","用户名或密码错误");

response.sendRedirect("login.jsp");

}

} else {

session.removeAttribute("msg2");

session.setAttribute("msg1","验证码错误");

response.sendRedirect("login.jsp");

}

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

}

}

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Servlet—获取密码

package web;

import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.*;

import java.io.IOException;

import java.net.URLDecoder;

import java.net.URLEncoder;

/**

* @author: QiLin

* @date: 2020/8/2 14:09

* @version: 1.0

*/

@WebServlet( "/GetCookie")

public class GetCookie extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

String user = request.getParameter("uname");

String password = "";

ObjectMapper mapper = new ObjectMapper();

// 获取cookie

Cookie[] cookies = request.getCookies();

// 如果为空,则停留在该页面

if(cookies !=null || cookies.length >0) {

String username = URLEncoder.encode(user,"UTF-8");

String userpwd = URLEncoder.encode(user+"pwd","UTF-8");

for (int i = 0; i < cookies.length; i++) {

if (cookies[i].getName().equals(username)) {

user = URLDecoder.decode(cookies[i].getValue(),"UTF-8");

}

if (cookies[i].getName().equals(userpwd)) {

password = cookies[i].getValue();

}

}

request.setAttribute("pwd",password);

String pwd = mapper.writeValueAsString(request.getAttribute("pwd"));

response.getWriter().write(pwd);

}

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

}

}

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

Servlet—验证码

package web;

import javax.imageio.ImageIO;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.awt.*;

import java.awt.image.BufferedImage;

import java.io.IOException;

import java.util.Random;

/**

* @author: QiLin

* @date: 2020/8/1 13:52

* @version: 1.0

*/

@WebServlet( "/Check_card")

public class Check_card extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//设置宽高

int width = 100;

int height = 50;

//创建对象,在内存验证码图

BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);

//美化图片

Graphics graphics = image.getGraphics();

//画边框

graphics.setColor(Color.magenta);

graphics.drawRect(0,0,width-1,height-1);

//填充背景颜色

graphics.setColor(Color.cyan);//画笔颜色

graphics.drawRect(0,0,width,height);

//定义随机抽取池

String str = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuioplkjhgfdsazxcvbnm0123456789";

//生成随机角标

Random ran = new Random();

//接收验证码

StringBuffer sb = new StringBuffer();

//写入验证码

for (int i = 1; i <= 4; i++) {

int index = ran.nextInt(str.length());

//获取随机字符

char c = str.charAt(index);

sb.append(c);

// //生成随机x轴

// int x = ran.nextInt(width-10) % (width-10-10+1)+10;

// //生成随机y轴

// int y = ran.nextInt(height-5) % (width-5-5+1)+5;

graphics.setFont(new Font("Tahoma", Font.BOLD, 18));

graphics.drawString(c+"",width/5*i,height/2);

}

//存入session

String session_check = sb.toString();

request.getSession().setAttribute("check_card",session_check);

//画干扰线

graphics.setColor(Color.green);

for (int i = 0; i < 10; i++) {

int x1 = ran.nextInt(width);

int x2 = ran.nextInt(width);

int y1 = ran.nextInt(height);

int y2 = ran.nextInt(height);

graphics.drawLine(x1,y1,x2,y2);

}

//将图片画到页面

ImageIO.write(image,"jpg",response.getOutputStream());

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

}

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马