网页登陆注册(jsp实现)验证码
这是一个登陆页面,有登陆验证和验证码的功能
(1)生成验证码的servlet:
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.File;
import java.io.IOException;
public class YzmServlet extends HttpServlet {
//设置验证码图片的宽度
private static final int WIDTH = 100;
//设置验证码的高度
private static final int HEIGHT = 80;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //产生一张图片 BufferedImage image=new BufferedImage(Width,Height,BufferedImage.TYPE_INT_RGB); response.setHeader("Pragram","no-cache"); response.setHeader("Cache-Control","no-catch"); response.setDateHeader("Exprires",0); Graphics g=image.getGraphics(); //设置背景颜色 g.setColor(Color.WHITE); //填充图片 g.fillRect(0,0,Width,Height); //设置验证码颜色 g.setColor(Color.RED); //设置验证码字体及大小 Font font=new Font("微软雅黑",Font.BOLD,20); //获取验证码 String str=getRandomString(4); //获取session HttpSession session=request.getSession(); //给str做标记 session.setAttribute("str",str); //在图片中画出验证码 g.drawString(str,50,50); //在图片中随机划线 for (int i=0;i<15;i++){ int x1= RandomUtils.nextInt(0,Width); int x2=RandomUtils.nextInt(0,Width); int y1=RandomUtils.nextInt(0,Height); int y2=RandomUtils.nextInt(0,Height); Color color=new Color(RandomUtils.nextInt(0,255),RandomUtils.nextInt(0,255),RandomUtils.nextInt(0,255)); g.setColor(color); g.drawLine(x1,y1,x2,y2); } //输出图片 ImageIO.write(image,"jpg",response.getOutputStream()); }
}
(2)登陆验证的servlet:
import org.apache.commons.lang3.RandomUtils;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); //获取输入的验证码的值 String yzm=request.getParameter("yzm"); //获取输入的用户名 String username=request.getParameter("username"); //获取输入的密码 String userpassword=request.getParameter("userpassword"); //获取session HttpSession session=request.getSession(); //获取session标记的值,即服务端生成的验证码的值 String yzm2=(String) session.getAttribute("str"); //比较验证码 if (yzm.equals(yzm2)){ if(username.equals("zhangsan")&&userpassword.equals("123456")){ response.getWriter().print("登陆成功"); }else{ response.getWriter().print("用户名或密码错误"); } }else{ response.getWriter().print("验证码错误"); } }
}
(3)登陆界面(比较简陋)
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆</title>
</head>
<script type="text/javascript">
function refreshImg() {
document.getElementById("y").src="./Yzm";
}
</script>
<body>
<table width="760px" height="100%" align="center" style="background-color: azure">
<tr>
<td>
<div align="center"></div>
<table width="200" height="300">
<tr>
<td>
<form action="./Login" name="form1" method="post">
用户名:<input type="text" name="username">
密 码:<input type="password" name="userpassword">
<a>
<img id="y" name="y" src="./Yzm" height="100" onclick="refreshImg()">
</a>
<button type="submit" value="看不清?" style="background-color: red" onclick="refreshImg()">看不清?</button><br>
验证码:<input type="text" name="yzm" id="yzm" style="width: 30px" onclick="refreshImg()"><br>
<button type="submit" onclick="check()">提交</button> <button type="reset">重置</button> </form> </td> </tr> </table> </div> </td> </tr>
</table>
</body>
</html>
(4)配置web.xml
<?xml version="1.0" encoding="utf-8"?>
- Struts2连接数据库实现登陆(验证码)、注册
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----删除
- 实现网页随机登陆验证码功能
- 采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例
- JSP_实现Servlet登陆,注册,链接Mysql数据库。
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----添加
- 采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例
- 网页注册和登陆简单实现的思路分析
- JSP_实现Servlet登陆,注册,链接Mysql数据库。
- MyBlog部分模块---基于Servlet+JSP+JavaBean实现登陆注册验证功能
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----返回操作
- jsp+servlet+ajax+oracle数据库-实现简单的登陆、注册、找回密码功能(与Oralce数据库连接)
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----分页操作
- jsp+servlet实现最基本的注册登陆功能
- 简单的登陆注册的实现+验证码和表单验证
- JSP+Servlet+Tomcat+Mysql实现注册、登陆、修改、添加、查看、分页实例之----用户登陆
- 简单的登陆注册的实现+验证码和表单验证
- 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆
- JSP+Servlet+Tomcat+Mysql实现用户注册、登陆、修改、添加、查看详情、分页实例之---框架
- jsp+servlet实现最基本的注册登陆功能