版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、J2EE软件开发课程实验报告姓名 王 烁 学号 201308003104 专业 软件工程 班级 1301 指导教师及职称 程文志(助教) 开课学期 2015 至 2016 学年 下 学期上课时间 2016 年 4 月 28 日 湖南科技学院教务处编印实验题目Servlet表单验证码的设计1 实验目的:1) 熟悉Servlet的处理流程;2) 能够在页面中熟练的使用Servlet生成验证码;3) 熟悉Web开发的流程;4) 掌握页面设计的各种技巧。2 软硬件环境:软件环境:MyEclipse、JDK环境硬件环境:电脑一台3 实验内容简述:a) 完成一个表单验证码的设计:在验证生成之前,有一个选择
2、界面,该界面有两个选项;(form.jsp)(1) 4位或6位的选择,对应生成验证码为4位或6位;(2) 验证码内容的选择:内容分为三种(数字、字母、数字+字母)b) 验证码的生成要求采用Servlet来生成,其它界面可以用jsp来响应;c) 登陆页面:(login.jsp) (提示:JavaScript的代码)(1) 用户名、密码存储在web.xml文件(context-parm存储);(2) 验证码点击后会生成新的验证;d) 验证页面:(1) 用户名、密码错误,就返回登陆页面,并提示登陆错误的相关信息(用户名和密码错误);(2) 验证码错误,就提示验证码错误;(3) 用户输入的验证码不分大
3、小写。e) 验证成功:(1) 提示:登录成功;(2) 登陆成功后,就显示个人信息,要求采用两列表格姓名张三-$name学号2013000b) 以列表的方式显示所有的用户信息,包含(用户名、密码、姓名、学号、专业、班级、学院);5) 数据处理(web.xml)将用户名和密码存储在web.xml文件中。4实现过程#choosestyles.jsp dynamicVerificationCode.html 选择验证码规格 验证码长度 1 100 验证码类型 !- - 字母 数字 #login.jsp base href= login.jsp function reload() document.ge
4、tElementById(identityImage).src=generateImg.action?ts= + new Date().getTime(); 请登录 用户名: 密码: #validating.jsp base href= 登录中. USERINPUT SYS INFO #home.jsp base href= HOME 欢迎回来,$userName. 注销 姓名: $studentName 学号: $studentNumber #GetIdentityStylesServletpackage com.shawn.controller;import java.io.IOExcep
5、tion;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class GetIdentityStylesServlet extends HttpServlet public GetIdentityStylesServlet() super();p
6、ublic void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException int length = Integer.valueOf(request.getParameter(length).intValue();String types = request.getP
7、arameterValues(type);request.getSession().setAttribute(length, length);request.getSession().setAttribute(types, types);response.sendRedirect(login.jsp);public void init() throws ServletException #DynamicVerificationCodeServletpackage com.shawn.controller;import com.shawn.model.VerificationCodeFactor
8、y;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.servlet.ServletException;import javax
9、.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class DynamicVerificationCodeServlet extends HttpServlet private static final long serialVersionUID = 1L;/* * Constructor of the object
10、. */public DynamicVerificationCodeServlet() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(image/jpeg);Integer
11、length = (Integer) request.getSession().getAttribute(length);String types = (String) request.getSession().getAttribute(types);System.out.println(length);System.out.println();for(String x : types)System.out.println(x);int type = 0;if(types.length = 3 | types0.equals(hidden)type = 0;elseif(types0.equa
12、ls(number)type = 1;elsetype = 2;String randomString = VerificationCodeFactory.getVerificationCode(length, type);request.getSession().setAttribute(randomString, randomString);int width = (int) (12.5 * length);int height = 30;Color color = VerificationCodeFactory.getRandomColor();Color reverse = Verif
13、icationCodeFactory.getReverseColor(color);System.out.println();BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics2D g = bi.createGraphics();g.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 16);g.setColor(color);g.fillRect(0, 0, width, height);g.setColor(reverse);g
14、.drawString(randomString, 5, 20);Random random = new Random();for (int i = 0, n = random.nextInt(100); i n; i+) g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1);ServletOutputStream out = response.getOutputStream();JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);encoder.enc
15、ode(bi);out.flush();/* * Initialization of the servlet. * * throws ServletException if an error occurs */public void init() throws ServletException / Put your code here#package com.shawn.controller;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import ja
16、vax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LogoutServlet extends HttpServlet /* * Constructor of the object. */public LogoutServlet() super();/* * Destruction of the servle
17、t. */public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code here/* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.getSession().invalidate();response.sen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版旧电器买卖与环保拆解回收及翻新服务合同3篇
- 2024年度电子产品展销会参展企业合同书3篇
- 2025版工厂员工安全教育与劳动合同范本3篇
- 2024年度班组施工退场施工成本控制与审计协议3篇
- 2025年度绿色金融股权担保与可持续发展合同3篇
- 2024年担保规则四种方式应用策略合同3篇
- 2025版采矿权转让与地质灾害预警合同3篇
- 2025版茶叶电商平台入驻保证金及费用结算合同3篇
- 2024年电商平台店铺授权经营合同3篇
- 2025年水电工程材料供应链金融解决方案合同3篇
- 2024年6月浙江省高考历史试卷(真题+答案)
- 住友(SWS)汽车连接器(Connectors)产品配套手册
- 2024-2030年中国光电共封装(CPO)行业投融资趋势及发展前景分析研究报告
- 学生退学情况说明
- DB5334 T 12.5-2024《地理标志证明商标 香格里拉藏香猪》的第5部分疾病防治
- 办公楼室内装饰工程施工设计方案技术标范本
- 2023年香港华夏杯六年级竞赛初赛数学试卷
- CJJ122-2017 游泳池给水排水工程技术规程
- 高中数学放缩法
- 上海市闵行区2024-2025学年八年级(上)期末物理试卷(解析版)
- 人教版三年级上册数学期末测试卷可打印
评论
0/150
提交评论