Java Web实用开发技术
Java Web实用开发技术
- 图形验证码
- 图形验证码的实现
- 图形验证码的生成
- 案例——带图形验证码的登陆模块
- MD5加密
- 在线编辑器
- CKEditor下载及配置
- CKEditor的使用
- 文件的上传与下载
- 下载Cos组件
- 文件上传的实现
- 上传文件的信息
- 文件下载的实现
- 案例——使用Cos组件实现作业上传
- Java Mail
- 案例——实现简单的邮件发送
- 页面分页技术
图形验证码
在Web登陆功能中,主要对用户密码进行验证来识别用户,但单一的验证可通过暴力破解,破解用户密码。增加了图形验证码后,除了输入密码外,还需要输入验证码,对于破解程序,识别这种验证码比较困难。在注册页面也可以有效防止注册大量用户。
图形验证码的实现
图形验证码的生成
图形验证码的实现用Java去画,具体怎么画呢,下面介绍怎么画。
- 首先,放置一个< img>标签,src是通过Servlet请求的来的。而验证码就是在Servlet里画出来,然后返回给< img>标签。
- 创建一个Servlet,web.xml访问路径配置为checkcode。接下来,验证码的实现。
案例——带图形验证码的登陆模块
实现一个带有图形验证码的登陆模块,并且添加换一张验证码的功能。
注意:当无法解析EL表达式时,添加如下语句
<% page isElIgnored="false" %>
登陆页面:Login.jsp
换一张验证码Servlet:ChangeCheckCode.java
只需重新转发。
验证用户名、密码及验证码:LoginCheck.java
MD5加密
在线编辑器
这里使用CKEditor 4.16.1。可以在线对文字进行一些编辑。
CKEditor下载及配置
- 访问CKEditor官网下载压缩包
http://www.ckeditor.com - 配置CKEditor
- 解压下载的文件
- 将解压的文件夹ckeditor复制到web项目的WebRoot路径下
CKEditor的使用
CKEditor就是更改< textArea>标签的class属性。
在表单中提交CKEditor的内容,用request获取< textArea>name属性。
使用CKEditor有如下两个步骤
- 导入ckeditor.js文件
- 更改< textArea>标签的class属性
文件的上传与下载
Java技术实现文件上传下载,需要借助输入输出流类,实现起来比较麻烦。
但使用一些上传下载组件实现则非常简单,而且效率比较高。常见的上传下载组件有,FileUpload、jspSmartUpload、Cos等。
下载Cos组件
http://www.servlets.com/cos/
文件上传的实现
文件上传的实现,需要借助Cos.jsr中的MultipartRequest类、和防止重命名的DefaultFileRenamePolicy类
- 设置表单method、enctype属性
- 设置上传路径
- 设置最大文件大小
- 创建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对象。只知道如何实现,具体什么原理不清楚。
- 设置下载路径
- 将文件名转为字节gbk
- 设置响应类型、响应头
- Get或Post方式均可
- 无法转发
下载页面upload.jsp:
Servlet业务处理:DownLoad.java
案例——使用Cos组件实现作业上传
文件重命名为:客户端IP地址+学号+题号
Java Mail
直接使用Java Mail实现邮件发送比较复杂。但采用Commons-Email实现则简单。Commons-Email是Apache提供的一个开源的API,是对Java Mail的封装。它有以下几个jar:
- mail.jar
SipmleEmail:发送简单邮件。
- activation.jar
MultiPartEmail:发送文本邮件,可添加多个附件。
- additionnal.jar
HtmlEmail:发送HTML格式邮件,同时也具有MultiPartEmail类的所有功能
- commons-email-1.2.jar
EmailAttchment:附件类,可以添加本地资源,也可指定网络上的资源,发送时自动将网络上的资源下载发送
案例——实现简单的邮件发送
设计一个简单的邮件发送网页,需要用到如下内容:
- 下载commons-email-x.x.jar和javax.mail.jar
- 获取网页上的内容
- SimpleEmail对象
- 设置邮箱服务器地址
- 设置邮箱端口
- 启用SSL验证
- 设置邮箱用户名和校验码
- 收件人地址
- 邮箱主题
- 邮箱内容
- 发件人
- send();
邮件发送页面:mail.jsp
Servlet处理请求:SendMail.java
页面分页技术
分页技术的实现需要依靠SQL语句:limit子句
- 创建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数组
控制层调用Dao对象,指定页面数据。
输出页面
逻辑层:UserDao.java
控制层:ListUser.java
视图层:userList.jsp
@syl 2021/07/04 21:36 雨 24° 吃粽子
上述代码好多BUG,有能力了再优化以下
Java Web实用开发技术相关推荐
- Java Web实用开发技术(4)------在线编辑器
在线编辑器是一种通过浏览器等对文字.图片等内容进行在线编译修改的工具,让用户在网站上获得"所见即所得"效果.例如:实现诸如留言板.论坛.新闻发布等Web模块时,经常用到在线编译器, ...
- 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 ...
- java web应用开发技术_第一章 Java Web应用开发技术
Java Web应用开发是基于JavaEE(JavaEnterprise Edition)框架的,而JavaEE是建立在Java平台上的企业级应用解决方案.JavaEES框架提供的Web开发技术主要支 ...
- canoe开发从入门到精通pdf_阿里技术官手写801页PDF《精通Java Web整合开发》
基础篇 第1~3章为基础篇,重点讲解基于开源架构Java EE应用开发的优势及其开发运行环境的安装配置,同时对JSP技术体系也进行了详细介绍. 基础篇的主要内容包括: Java Web应用开发技术选用 ...
- 进行Java Web项目开发需要掌握的技术
目前, 国内外信息化建设已经进入基于Web应用为核心的阶段, Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.概括一下,实施Ja ...
- Web第五讲:Web前端开发技术概述
开发环境设置 安装vs-code,并安装前端开发工程师常用的插件. vscode-icon:文件图标 Class autocomplete for HTML:自动补全html代码 beautify:格 ...
- java王者归来pdf_《JAVA WEB整合开发王者归来》刘京华.pdf
全书分为9篇,内容层次清晰,难度循序渐进.第1篇为入门篇,内容包括JavaWeb开发概述等:第2篇为基础篇,内容包括Servlet技术.JSP技术.会话跟踪.过滤器Filter.监听器Listener ...
- 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)...
前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻 ...
- Web应用开发技术(1)-html
Web应用开发技术 一个完整的Web应用需要通过前段开发技术和后端开发技术一起联合实现 最重要的前段开发技术:HTML.CSS.JavaScript 后端开发技术:Python.Java.PHP.AS ...
最新文章
- 美国AI博士一针见血:Python这样学最容易成为高手!
- 神州数码与神州控股、神州信息共同主办首届技术年会,透露出什么信号?
- 通过帧中继验证OSPF支持的不同网络类型
- C#如何判断程序调用的exe已结束
- 春天猫rtsy_春天重试,因为冬天来了
- 6月20日云栖精选夜读丨国内首家!阿里云宣布全面提供IPv6服务
- SQLGrammarException错误
- Scrapy运行时出现的错误 :exception.ImportError No module named win32api
- 软件测试测试用例编写 不超过7步骤_软件测试(功能、接口、性能、自动化)详解...
- Ragnar Locker 卷土重来:美国52个关键信息基础设施被入侵
- 伽卡他卡使用教程_【伽卡他卡电子教室教师端介绍】伽卡他卡电子教室教师端特色_伽卡他卡电子教室教师端说明-最笨下载...
- w10计算机无法启动不了怎么办,win10开不开机怎么办_win10电脑无法开机的解决步骤...
- TreeSet()原理及使用
- VMware vCenter Server 7.0U3
- 计算机课情感态度与价值观,浅谈信息技术课中情感态度价值观的培养
- 开发客户,哪种方式成本低又有效?
- 互联网寒冬下的面经总结
- 当前版本与卡刷包android_手机端提取Android 8.x及以上版本卡刷包中的system文件
- 使用xbox游戏手柄控制PX4的gazebo仿真
- 使用python代码给手机发短信详解(twilio的使用)
热门文章
- 超级壁纸android,【教程】MIUI最新超级壁纸安卓全机型安装指南
- 计算圆周率π的C++实现(任意精度)
- FPGA图像处理_中值滤波、均值滤波、极值滤波
- 服务器启动显示防火墙,宝塔面板防火墙怎么打开
- 飞凌Linux版LS1028A嵌入式开发板测评分享
- Unity-业余2D游戏制作笔记02-Dialogue System for Unity使用
- 【计算机网络】因特网概述
- Cloud Foundry 峰会进入中国 全球专家与你面对面
- 动目标显示matlab仿真,动目标显示与脉冲多普勒雷达 (MATLAB程式设计)
- secure CRT设置自动保存日志