JavaWeb网上图书商城完整项目--验证码

1、首先需要集成下面的jar

 

2、在web.xml配置验证码的servlet

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>BaseServlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
    <filter-name>EncodingFilter</filter-name>
    <filter-class>cn.itcast.filter.EncodingFilter</filter-class>
    <init-param>
      <param-name>charset</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <servlet>
    <servlet-name>VerifyCodeServlet</servlet-name>
    <servlet-class>cn.itcast.vcode.servlet.VerifyCodeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>VerifyCodeServlet</servlet-name>
    <url-pattern>/VerifyCodeServlet</url-pattern>
  </servlet-mapping>
  
   <servlet>
    <servlet-name>KeServlet</servlet-name>
    <servlet-class>com.weiyuan.test.KeServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>KeServlet</servlet-name>
    <url-pattern>/33</url-pattern>
  </servlet-mapping>
</web-app>
复制代码

然后编写登陆的jsp文件:

复制代码
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
function changeImg(){
 var img =document.getElementById("img");
 //后面给上一个参数new Date().getTime()每次都不一样,每次都会重新去请求VerifyCodeServlet,而不使用原来缓存中的图片
 img.src="/BaseServlet/VerifyCodeServlet?a="+new Date().getTime();
}
</script>
<body>
<form action="/BaseServlet/LoginServlet" method="post">
<input type="hidden" name="method" value="login"></input>
用户名:<input type="text" name="username"></input></br>
密码:<input type="text" name="pwd"></input></br>
验证码:<input type="text" name="verifyCode"></input></br>
<img id ="img" src="/BaseServlet/VerifyCodeServlet">
<a href="javascript:changeImg()">更换验证码</a></br>
<input type="submit" value="提交"></input>

</form>

</body>
</html>
复制代码

其中:

BaseServlet是当前的工程项目

在servlet中我们可以通过session获得缓存中session中的验证码,通过客户端在表单中提交的验证码和在session后台中缓存的验证码,我们就可以知道用户提交的验证码是否正确
String verfiyCode= request.getParameter("verifyCode");
        String vcode = (String) request.getSession().getAttribute("vCode");

 

posted on   luzhouxiaoshuai  阅读(881)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示