Java Web实现登录页面验证码验证功能实现登录页面验证码验证功能
主要介绍了Java Web登录页面验证码验证功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴
价值,需要的朋友可以参考下
一、验证码一、验证码
验证码本质上是一张图片,图片内容会随着程序的运行而随机生成
验证码的作用:防止应用恶意发送数据,一定程度上避免了恶意程序对网站的攻击。
验证码本质上是一张图片,图片内容的准确解析不容易用程序来实现。
验证码的绘制:绘制验证码图片不仅仅需要随机生成要绘制的内容,同时要配合Java中与绘图有关的一套API来完成。
二、效果演示二、效果演示
验证码Demo
三、给出完整代码三、给出完整代码
(1)服务器端代码ActionServlet.java
package session;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 服务器端合并Servlet
*
* @author QianliangGuo
*/
public class ActionServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
// 设置编码
request.setCharacterEncoding("utf-8");
// 获得session
HttpSession session = request.getSession();
//设置session超时时间为10秒
// session.setMaxInactiveInterval(10);
// 获得请求路径
String uri = request.getRequestURI();
// 拆分路径,只保留login.do中的login
String action = uri.substring(uri.lastIndexOf("/") + 1,uri.lastIndexOf("."));
// 判断请求路径是否为登录
if (action.equals("login")) {
String uname = request.getParameter("uname");
String pwd = request.getParameter("pwd");
//获得用户提交的验证码字符
String vcode = request.getParameter("vcode");
//获得session中存储的最新验证码字符
String code = session.getAttribute("code").toString();
if (code.equals(vcode) &&uname.equals("123") && pwd.equals("123") ) {
// 将登录的用户绑定到session
session.setAttribute("uname", uname);
// 重定向到index.jsp
// response.sendRedirect("index.jsp");
//如果禁用了Cookie,使用URL重写
response.sendRedirect(response.encodeRedirectURL("index.jsp"));
} else {
// 登录失败,就转发到login.jsp
request.setAttribute("msg", "输入有误,请重新登录!");
request.getRequestDispatcher("login.jsp").forward(request,response);
}
}else if(action.equals("logout")){
评论0
最新资源