验证码不能显示?

验证码不能显示?

http://img1.sycdn.imooc.com//climg/5b07c1fc0001108e05550301.jpg

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
   <base href="<%=basePath%>">
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>登录页面</title>
   <style type="text/css">
       .code {
           background: url("<%=basePath%>Course/kaptcha.jpg");
           font-family: Arial;
           font-style: italic;
           color: blue;
           font-size: 20px;
           border: 0;
           padding: 2px 3px;
           letter-spacing: 3px;
           font-weight: bolder;
           float: left;
           cursor: pointer;
           width: 40px;
           height: 20px;
           line-height: 20px;
           text-align: center;
           vertical-align: middle;
       }

       a {
           text-decoration: none;
           font-size: 12px;
           color: #288bc4;
       }

       a:hover {
           text-decoration: underline;
       }
   </style>

</head>
<body>
<center>
   <h1>用户登录</h1>
   <form action="<%=basePath%>/LoginServlet" method="post" onsubmit="return validateCode()">
       <table width="300px" cellspacing="0px" cellpadding="0px" border="1px">
           <tr>
               <td>用户名</td>
               <td colspan="2"><input type="text" name="username" placeholder="用户名为3-12位字母数字或下划线组合"></td>
           </tr>
           <tr>
               <td>密&nbsp;码</td>
               <td colspan="2"><input type="password" name="password" placeholder="长度为5-12位字母数字或下划线组合"></td>
           </tr>
           <tr>
               <td>验证码</td>
               <td style="border-right-style:none;">
                   <input type="text" name="checkCode" placeholder="请输入验证码" id="inputCode">
               </td>
               <td style="border-left-style:none;">
                   <div class="code" id="checkCode">
                       <img src="kaptcha.jpg">
                   </div>
               </td>
           </tr>
           <tr>
               <td colspan="3" style="text-align:center">
                   <input type="submit" value="登录">
                   <input type="reset" value="取消">
               </td>
           </tr>
       </table>
   </form>
</center>
</body>
</html>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

12回答
chrismorgen 2018-05-30 10:42:28

既然老师的代码能运行,就证明你的服务器配置基本没有问题。图片不显示应该还是你basePath的问题,建议你在basePath后面添加"/试试"。

http://img1.sycdn.imooc.com//climg/5b0e0f7e0001e0d111270120.jpg

  • 提问者 shammgod4342601 #1
    还是不行哦老师
    2018-05-30 13:53:27
  • 好帮手慕珊 回复 提问者 shammgod4342601 #2
    你直接在地址栏输入验证码的路径,看看是否会显示
    2018-05-30 14:21:54
  • chrismorgen 回复 提问者 shammgod4342601 #3
    建议你重新建一个工程,然后将配置文件、jsp页面、还有相关的jar包导入,看看验证码可不可以显示。
    2018-05-30 14:30:37
提问者 shammgod4342601 2018-05-30 00:11:48

我导入了老师的代码是可以看到验证码的,会不会是我服务器配置有问题?

http://img1.sycdn.imooc.com//climg/5b0d7aa700012f7c06760331.jpg

就是这个artifact是干什么用的?我按这个运行页面有内容出来,但是我按下面的external source选择我的项目地址运行就报404错误?    

http://img1.sycdn.imooc.com//climg/5b0d7b740001d15e08890368.jpg这是按artifact

http://img1.sycdn.imooc.com//climg/5b0d7b45000117eb08330306.jpg这是按external source的,但是这两个也不能显示验证码...

  • 你运行自己项目的时候,这个地方是选的artifact吗
    2018-05-30 14:15:45
提问者 shammgod4342601 2018-05-29 18:19:15
提问者 shammgod4342601 2018-05-29 18:08:22

真的不行了老师,是我电脑问题么,我把验证码那堂课的代码考进去也不行啊

  • 建议同学运行老师的源码再试下,看下老师源码中验证码是不是可以出来~
    2018-05-29 18:58:11
  • 另外,建议同学重启一下机器后再直接导入老师的源码运行一下,看是否存在问题~
    2018-05-29 19:02:40
chrismorgen 2018-05-29 11:22:59

你有下图标记的图片吗?设置验证码的时候应该是一个.jsp的页面。建议检查一下是否是这里有问题,或者重新观看java实现验证码这一章节。祝学习愉快~

http://img1.sycdn.imooc.com//climg/5b0cc69400011f8603320135.jpg

  • 提问者 shammgod4342601 #1
    哦哦,这个img标签是我之前测试的,我已经把jar包都导了,里面有这个jsp了吧
    2018-05-29 17:46:09
提问者 shammgod4342601 2018-05-28 22:24:26

http://img1.sycdn.imooc.com//climg/5b0c105b0001a0f710210233.jpg

http://img1.sycdn.imooc.com//climg/5b0c10c50001245b11240732.jpg

http://img1.sycdn.imooc.com//climg/5b0c10d500015ab307010270.jpg

http://img1.sycdn.imooc.com//climg/5b0c10eb000106cd03630329.jpg

http://img1.sycdn.imooc.com//climg/5b0c10fc0001316e06200198.jpg

究竟哪里出问题了啊...搞了好久了,这里搞不了下面做不了啊

提问者 shammgod4342601 2018-05-26 22:35:26

http://img1.sycdn.imooc.com//climg/5b0970540001a96b03610702.jpg

http://img1.sycdn.imooc.com//climg/5b0970840001f50d09810475.jpg

真是奇了怪了,控制台没错误呀,jar包也导了...

  • 看同学的访问地址,在IDEA中项目名配置的是Course,而访问的是CourseDemo,建议同学将路径统一
    2018-05-27 20:19:38
提问者 shammgod4342601 2018-05-25 21:09:41

http://img1.sycdn.imooc.com//climg/5b080a3800014a6008060338.jpg

我在tomcat这里设置了/Course

http://img1.sycdn.imooc.com//climg/5b080adc0001ae8710470246.jpg

这是basePath

http://img1.sycdn.imooc.com//climg/5b080b060001816f07600149.jpg

验证码地址

  • 我根据你的方式运行你的代码是可以显示验证码的,建议同学通过F12看下浏览器控制台报的是什么错误,同学可以根据错误提示进行修改~~;另外你的jar包导入到环境中去了没?如果还有问题,可以再次提问~
    2018-05-26 22:17:40
一叶知秋519 2018-05-25 18:48:41

你的Course是项目名么?

basePath改为下面的书写方式:

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

路径可以修改一下:background: url("<%=basePath%>kaptcha.jpg");

我在运行你的代码时,url没有改变也是可以显示的;

同学改为上述代码后再试下呢~

祝学习愉快!

提问者 shammgod4342601 2018-05-25 18:28:38
一叶知秋519 2018-05-25 17:38:58

我运行你的代码,是可以生成验证码的

http://img1.sycdn.imooc.com//climg/5b07d98d00014eb305600288.jpg

目录结构:

http://img1.sycdn.imooc.com//climg/5b07d99c0001469702460155.jpg

同学检查一下有没有导入kaptcha-2.3.2.jar包呢~

祝学习愉快!

  • 提问者 shammgod4342601 #1
    已经导入了啊,是不是路径写错了?
    2018-05-25 18:28:11
提问者 shammgod4342601 2018-05-25 15:58:55

<servlet>
   <servlet-name>Kaptcha</servlet-name>
   <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
   <init-param>
       <param-name>kaptcha.border</param-name>
       <param-value>no</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.image.width</param-name>
       <param-value>100</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.image.height</param-name>
       <param-value>40</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.textproducer.font.size</param-name>
       <param-value>28</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.textproducer.char.string</param-name>
       <param-value>qwertyuiopasdfghjklzxcvbnm123456789</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.textproducer.char.length</param-name>
       <param-value>4</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.noise.impl</param-name>
       <param-value>com.google.code.kaptcha.impl.DefaultNoise</param-value>
   </init-param>
   <init-param>
       <param-name>kaptcha.obscurificator.impl</param-name>
       <param-value>com.google.code.kaptcha.impl.FishEyeGimpy</param-value>
   </init-param>
   <init-param>
       <!--session.setAttribute("kcode",生成好的验证吗)-->
       <param-name>kaptcha.session.key</param-name>
       <param-value>kcode</param-value>
   </init-param>
</servlet>
<servlet-mapping>
   <servlet-name>Kaptcha</servlet-name>
   <url-pattern>/kaptcha.jpg</url-pattern>
</servlet-mapping>

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师