为了账号安全,请及时绑定邮箱和手机立即绑定

验证码不显示

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

  </head>

  

  <body>

验证码:<input type="text" name = "checkcode"/>

             <img alt="验证码"    src="<%= request.getContextPath();%>/servlet/ImageServlet"/>

             <<a href="javascript:reloadCode();">看不清楚</a><br>

  </body>

</html>



package com.Servlet;


import java.awt.Color;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.IOException;

import java.util.Random;


import javax.imageio.ImageIO;

import javax.imageio.spi.ImageWriterSpi;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


public class ImageServlet extends HttpServlet {



public  void doGet( HttpServletRequest request,HttpServletResponse response){

BufferedImage bi = new BufferedImage(68, 26,BufferedImage.TYPE_INT_RGB);

Graphics g = bi.getGraphics();

Color c = new Color(200, 150, 255);

g.setColor(c);

g.fillRect(0, 0, 68, 26);

char[] ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789".toCharArray();

Random r = new Random();

int len = ch.length,index;

StringBuffer sb = new StringBuffer();

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

index = r.nextInt(len);

g.setColor(new Color(r.nextInt(88),r.nextInt(188),r.nextInt(255)));

g.drawString(ch[index]+" ", (i*15)+3,18 );

sb.append(ch[index]);

}

request.getSession().setAttribute("piccode",sb.toString() );

try {

ImageIO.write(bi, "JPG", response.getOutputStream());

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


}


正在回答

5 回答

选择创建Servlet类 ,不要自己手敲,他会自动生成web配置  把那个访问servlet的路径直接复制在JSP页面上

0 回复 有任何疑惑可以回复我~
#1

weibo爱分享的番茄妞

怎么做?
2016-10-31 回复 有任何疑惑可以回复我~
#2

qq_梦想在远航_03681959 回复 weibo爱分享的番茄妞

把你做的这个项目直接删除,重新做。在建ImageServlet class文件时,直接建一个servlet文件,把ImageServlet的程序直接复制过去就好了,servlet文件会自动生成xml都不需要配置,就可以直接运行了。
2016-11-27 回复 有任何疑惑可以回复我~

貌似是imagecodeservlet那个servlet根本没有执行,我也遇到一样的问题了,还没有解决,楼主有解了不?

0 回复 有任何疑惑可以回复我~
#1

浮生半夏1

解决了吗?
2018-01-17 回复 有任何疑惑可以回复我~

web.xml里的字母大小写问题。找出来原因了

0 回复 有任何疑惑可以回复我~

图片地址中的 src="<%= request.getContextPath();%>/servlet/ImageServlet"去掉里面的分号再试试

0 回复 有任何疑惑可以回复我~

你的Web.xml文件配置了吗?贴出来看看

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java实现验证码制作
  • 参与学习       59909    人
  • 解答问题       128    个

本教程就会带大家学习使用java实现各种验证码的方法

进入课程

验证码不显示

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信