Java Web实用开发技术

  • 图形验证码
    • 图形验证码的实现
      • 图形验证码的生成
      • 案例——带图形验证码的登陆模块
  • MD5加密
  • 在线编辑器
    • CKEditor下载及配置
    • CKEditor的使用
  • 文件的上传与下载
    • 下载Cos组件
    • 文件上传的实现
    • 上传文件的信息
    • 文件下载的实现
    • 案例——使用Cos组件实现作业上传
  • Java Mail
    • 案例——实现简单的邮件发送
  • 页面分页技术

图形验证码

在Web登陆功能中,主要对用户密码进行验证来识别用户,但单一的验证可通过暴力破解,破解用户密码。增加了图形验证码后,除了输入密码外,还需要输入验证码,对于破解程序,识别这种验证码比较困难。在注册页面也可以有效防止注册大量用户。

图形验证码的实现

图形验证码的生成

图形验证码的实现用Java去画,具体怎么画呢,下面介绍怎么画。

  1. 首先,放置一个< img>标签,src是通过Servlet请求的来的。而验证码就是在Servlet里画出来,然后返回给< img>标签。
  2. 创建一个Servlet,web.xml访问路径配置为checkcode。接下来,验证码的实现。


案例——带图形验证码的登陆模块

实现一个带有图形验证码的登陆模块,并且添加换一张验证码的功能。

注意:当无法解析EL表达式时,添加如下语句

 <% page isElIgnored="false" %>

登陆页面:Login.jsp

换一张验证码Servlet:ChangeCheckCode.java
只需重新转发。

验证用户名、密码及验证码:LoginCheck.java

MD5加密

在线编辑器

这里使用CKEditor 4.16.1。可以在线对文字进行一些编辑。

CKEditor下载及配置

  1. 访问CKEditor官网下载压缩包
    http://www.ckeditor.com
  2. 配置CKEditor
  • 解压下载的文件
  • 将解压的文件夹ckeditor复制到web项目的WebRoot路径下

CKEditor的使用

CKEditor就是更改< textArea>标签的class属性
在表单中提交CKEditor的内容,用request获取< textArea>name属性。
使用CKEditor有如下两个步骤

  1. 导入ckeditor.js文件
  2. 更改< textArea>标签的class属性

文件的上传与下载

Java技术实现文件上传下载,需要借助输入输出流类,实现起来比较麻烦。
但使用一些上传下载组件实现则非常简单,而且效率比较高。常见的上传下载组件有,FileUpload、jspSmartUpload、Cos等

下载Cos组件

http://www.servlets.com/cos/

文件上传的实现

文件上传的实现,需要借助Cos.jsr中的MultipartRequest类、和防止重命名的DefaultFileRenamePolicy类

  1. 设置表单method、enctype属性
  2. 设置上传路径
  3. 设置最大文件大小
  4. 创建MulitpartRequest对象

上传页面:upload.jsp

Servlet业务处理页面:UpLoad.java

上传文件的信息

借助MultipartRequest对象,可以获取文件的一些基本信息

 Enumeration<String> files = multi.getFileNames();while(files.hasMoreElements()){String name = files.nextElement();File f = multi.getFile(name);if(f!=null){String fileName = multi.getFilesystemName(name);String lastFileName = saveDirectory+"\\"+fileName;out.println("上传的文件:”+lastFileName);out.println("<hr>");}}

文件下载的实现

文件下载的实现设置返回头类型,及iso编码、ServletOutputStream对象。只知道如何实现,具体什么原理不清楚。

  1. 设置下载路径
  2. 将文件名转为字节gbk
  3. 设置响应类型、响应头
  4. Get或Post方式均可
  5. 无法转发

下载页面upload.jsp:

Servlet业务处理:DownLoad.java

案例——使用Cos组件实现作业上传

文件重命名为:客户端IP地址+学号+题号

Java Mail

直接使用Java Mail实现邮件发送比较复杂。但采用Commons-Email实现则简单。Commons-Email是Apache提供的一个开源的API,是对Java Mail的封装。它有以下几个jar:

  1. mail.jar

SipmleEmail:发送简单邮件。

  1. activation.jar

MultiPartEmail:发送文本邮件,可添加多个附件。

  1. additionnal.jar

HtmlEmail:发送HTML格式邮件,同时也具有MultiPartEmail类的所有功能

  1. commons-email-1.2.jar

EmailAttchment:附件类,可以添加本地资源,也可指定网络上的资源,发送时自动将网络上的资源下载发送

案例——实现简单的邮件发送

设计一个简单的邮件发送网页,需要用到如下内容:

  1. 下载commons-email-x.x.jar和javax.mail.jar
  2. 获取网页上的内容
  3. SimpleEmail对象
  • 设置邮箱服务器地址
  • 设置邮箱端口
  • 启用SSL验证
  • 设置邮箱用户名和校验码
  • 收件人地址
  • 邮箱主题
  • 邮箱内容
  • 发件人
  • send();

邮件发送页面:mail.jsp

Servlet处理请求:SendMail.java

页面分页技术

分页技术的实现需要依靠SQL语句:limit子句

  1. 创建UserDao用来计算总页数和查询指定页数据
 //计算共有多少条记录public int pageCount(){************************String sql="select count(*) from stu_info;************************}//返回数据public List<User> listUser(int pageNo)(){********************String sql = "Select * from stu_info order by  id limit ?,?";//limit两个参数指定从第几条记录开始的几个记录。}//将获取的数据封装成User类,并添加至List数组
  1. 控制层调用Dao对象,指定页面数据。

  2. 输出页面

逻辑层:UserDao.java

控制层:ListUser.java

视图层:userList.jsp

@syl 2021/07/04 21:36 雨 24° 吃粽子

上述代码好多BUG,有能力了再优化以下

Java Web实用开发技术相关推荐

  1. Java Web实用开发技术(4)------在线编辑器

    在线编辑器是一种通过浏览器等对文字.图片等内容进行在线编译修改的工具,让用户在网站上获得"所见即所得"效果.例如:实现诸如留言板.论坛.新闻发布等Web模块时,经常用到在线编译器, ...

  2. java web 应用技术与案例教程_《Java Web应用开发技术与案例教程》怎么样_目录_pdf在线阅读 - 课课家教育...

    出版说明 前言 第1章 java Web应用开发技术概述 1.1 Java Web应用开发技术简介 1.1.1 Java Web应用 1.1.2 Java Web应用开发技术 1.2 Java Web ...

  3. java web应用开发技术_第一章 Java Web应用开发技术

    Java Web应用开发是基于JavaEE(JavaEnterprise Edition)框架的,而JavaEE是建立在Java平台上的企业级应用解决方案.JavaEES框架提供的Web开发技术主要支 ...

  4. canoe开发从入门到精通pdf_阿里技术官手写801页PDF《精通Java Web整合开发》

    基础篇 第1~3章为基础篇,重点讲解基于开源架构Java EE应用开发的优势及其开发运行环境的安装配置,同时对JSP技术体系也进行了详细介绍. 基础篇的主要内容包括: Java Web应用开发技术选用 ...

  5. 进行Java Web项目开发需要掌握的技术

    目前, 国内外信息化建设已经进入基于Web应用为核心的阶段, Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.概括一下,实施Ja ...

  6. Web第五讲:Web前端开发技术概述

    开发环境设置 安装vs-code,并安装前端开发工程师常用的插件. vscode-icon:文件图标 Class autocomplete for HTML:自动补全html代码 beautify:格 ...

  7. java王者归来pdf_《JAVA WEB整合开发王者归来》刘京华.pdf

    全书分为9篇,内容层次清晰,难度循序渐进.第1篇为入门篇,内容包括JavaWeb开发概述等:第2篇为基础篇,内容包括Servlet技术.JSP技术.会话跟踪.过滤器Filter.监听器Listener ...

  8. 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)...

    前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻 ...

  9. Web应用开发技术(1)-html

    Web应用开发技术 一个完整的Web应用需要通过前段开发技术和后端开发技术一起联合实现 最重要的前段开发技术:HTML.CSS.JavaScript 后端开发技术:Python.Java.PHP.AS ...

最新文章

  1. 美国AI博士一针见血:Python这样学最容易成为高手!
  2. 神州数码与神州控股、神州信息共同主办首届技术年会,透露出什么信号?
  3. 通过帧中继验证OSPF支持的不同网络类型
  4. C#如何判断程序调用的exe已结束
  5. 春天猫rtsy_春天重试,因为冬天来了
  6. 6月20日云栖精选夜读丨国内首家!阿里云宣布全面提供IPv6服务
  7. SQLGrammarException错误
  8. Scrapy运行时出现的错误 :exception.ImportError No module named win32api
  9. 软件测试测试用例编写 不超过7步骤_软件测试(功能、接口、性能、自动化)详解...
  10. Ragnar Locker 卷土重来:美国52个关键信息基础设施被入侵
  11. 伽卡他卡使用教程_【伽卡他卡电子教室教师端介绍】伽卡他卡电子教室教师端特色_伽卡他卡电子教室教师端说明-最笨下载...
  12. w10计算机无法启动不了怎么办,win10开不开机怎么办_win10电脑无法开机的解决步骤...
  13. TreeSet()原理及使用
  14. VMware vCenter Server 7.0U3
  15. 计算机课情感态度与价值观,浅谈信息技术课中情感态度价值观的培养
  16. 开发客户,哪种方式成本低又有效?
  17. 互联网寒冬下的面经总结
  18. 当前版本与卡刷包android_手机端提取Android 8.x及以上版本卡刷包中的system文件
  19. 使用xbox游戏手柄控制PX4的gazebo仿真
  20. 使用python代码给手机发短信详解(twilio的使用)

热门文章

  1. 超级壁纸android,【教程】MIUI最新超级壁纸安卓全机型安装指南
  2. 计算圆周率π的C++实现(任意精度)
  3. FPGA图像处理_中值滤波、均值滤波、极值滤波
  4. 服务器启动显示防火墙,宝塔面板防火墙怎么打开
  5. 飞凌Linux版LS1028A嵌入式开发板测评分享
  6. Unity-业余2D游戏制作笔记02-Dialogue System for Unity使用
  7. 【计算机网络】因特网概述
  8. Cloud Foundry 峰会进入中国 全球专家与你面对面
  9. 动目标显示matlab仿真,动目标显示与脉冲多普勒雷达 (MATLAB程式设计)
  10. secure CRT设置自动保存日志