JavaWeb复习资料文档格式.docx
- 文档编号:20915916
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:22
- 大小:260.51KB
JavaWeb复习资料文档格式.docx
《JavaWeb复习资料文档格式.docx》由会员分享,可在线阅读,更多相关《JavaWeb复习资料文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
1.在WEB-INF目录下面,创建tags文件夹。
2.在tags目录下面,创建标签文件(后缀名必须是*.tag)
3.在jsp页面中使用标签文件<
%@taglibtagdir=”WEB-INF/tags”prefix=”标签的前缀名”%>
第四章(JSP标准标签)
JSTL(JspStandardTagLibrary):
Jsp标准标签库是一个实现Web应用于程序中常见的通用功能的定制标记库集。
JSTL的优点:
1、提供一组标签,提高web应用的复用性。
2、可用于编写各种动态的Jsp页面,简化了jsp和web应用开发,减少了scriptlet代码,实现无脚本化。
3、用于访问数据库,有条件地执行代码和支持国际化。
JSTL的组成:
1、Core标签库(前缀c)
2、国际化与格式化标签库(前缀fmt)
3、xml标签库(前缀x)
4、sql标签库(前缀sql)
5、Function标签库(前缀fn)
核心标签库Core的常用标签
使用JSTL步骤
1、建项目选择JEE5.0(默认导入jstl.jar)。
2、jsp页面使用<
%@tagliburi=””%>
导入tld的别名。
常用标签:
通用标签:
<
c:
out>
、<
set>
remove>
catch>
----用于在jsp中显示数据
set>
——表示定义变量,将变量存放在指定位置(page|request|session|application)。
语法:
setvar=”变量名”value=”值”scope=”范围”/>
(适合简单类型)
或者
settarget=”目标对象名”property=”对象中的属性名”value=”属性的值”/>
(适合复杂类型)
remove>
——表示移除指定范围的变量。
removevar=”移除的变量名”scope=”变量的范围”/>
——主要用来处理所产生的异常
catchvar=”变量名”/>
流程控制标签:
if>
choose>
when>
otherwise>
用法与Java中的if用法一致
iftest=”判断条件”var=”条件判断之后的结果”scope=”范围”>
/c:
用于多条件选择,和<
以及<
一起使用,不接受任何属性
<
whentest=”条件1”>
---------<
的一个条件分支,只能在<
中使用
条件1……….
---------代表是<
中的最后选择,它必须在最后出现,没有属性
//表示其他
迭代标签:
forEach>
forTokens>
forEachvar=”变量名”items=”数据(数组、集合)”varStatus=”状态值”>
varStatus的四个值:
currentData.index下标
currentData.count当前是第几行
currentData.first是否是第一行
currentData.last是否是最后一行
forTokenvar=”变量名”delims=”分隔符”items=”数据”>
导入标签
import>
更通用、功能更强大的<
jsp:
include>
指令
importurl=”请求路径”var=”返回的结果”/>
redirect>
用于向用户的浏览器发送HTTP重定向响应,它是JSTL中与HttpServletResponse的sendRedirce()方法功能相当的标签
redirecturl=”跳转路径”>
paramname=”参数名”value=”参数值”/>
格式化标签库Format常用标签
国际化标签:
fmt:
bundlebasename=”资源文件的简称”>
messagekey=”资源文件中对应的名字”>
格式化标签:
formatNumberpattern=”数据的格式”value=”需要格式化的数据”/>
formatDatepattern=”格式”value=”时间类型的数据”/>
parseDatepattern=”时间的格式”var=”解析之后的时间类型变量”/>
第五章(过滤器与事件监听)
过滤器:
实质是一个实现相应接口的Java类,它处于客户端和web资源之间,用于对请求或者响应,添加一些额外的处理,用于拦截源数据和目的数据之间的消息,并且过滤二者之间传递的数据。
(举个简单的例子,我们打游戏的时候就知道,如果我们发送一些敏感的字符,就会被*号替代掉,敏感的字符被过滤掉了)
过滤器的好处:
1、它以一种模块化的可重用的方式封装公共的行为
2、利用它能够将高级访问决策与表现代码分离
3、过滤器使用能够对许多不同的资源进行批量的更改
所有的过滤器都必须实现Filter(javax.servlet.Filter)接口,此接口包含了三个方法,分别是doFilter()、init()、destory()。
过滤器的生命周期:
实例化----初始化------过滤--------销毁
(构造方法)(init())(doFilter())(destory())
实现过滤器的效果:
1、建立一个实现filter接口的类
2、配置web.xml
filter>
<
filter-name>
encoding<
/filter-name>
filter-class>
包名.类名<
/filter-class>
/filter>
filter-mapping>
url-pattern>
过滤文件的路径<
/url-pattern>
/filter-mapping>
利用filterChain来调用多个过滤,称之为过滤器链
事件监听(当触发了某一个事件,然后对事件进行处理)
分类:
Servlet上下文事件
会话事件
请求事件
对servlet上下文的监听:
可以监听ServletContext对象的创建和删除以及属性的添加、删除和修改等操作,该监听器需要用到两个接口类:
1、ServletContextAttributeListner:
监听ServletContext属性的操作,如增加、删除、修改
常用的方法:
方法
说明
voidattributeAdded(
ServletContextAttributeEventscae)
当新的属性加入到Servlet上下文后触发该方法中的代码
voidattributeRemoved(
当删除Servlet上下文中属性后会触发该方法中的代码
voidattributeReplaced(
当修改Servlet上下文中某个属性的值后会触发该方法中的代码
2、ServletContextListener:
监听ServletContext,当创建ServletContext时,激发contextInitialized方法;
当销毁ServletContext时,激发contextDestory方法。
voidcontextDestroyed(
ServletContextEventsce)
当上下文对象被销毁的时候触发该方法中的代码
voidcontextInitialized(
当上下文对象被初始化的时候触发该方法中的代码
监听Http会话
会话监听器可以监听Http会话的活动情况,Http会话中属性的设置情况(添加、删除、修改)、Http会话的active(锐化)、passivate(钝化)情况
需要实现以下两个接口:
1、HttpSessionLinstener:
监听HttpSession对象的创建和销毁的
voidattributeAdded
(HttpSessionBindingEventse)
当添加属性到HttpSession中的时候自动触发该方法中的代码
voidattributeRemoved
当从HttpSession中删除属性的时候触发该方法中的代码
voidattributeReplaced
当修改HttpSession中的属性的时候触发该方法中的代码
2、HttpSessionAttributeListener:
监听对HttpSession属性的操作
常用方法:
voidsessionCreated
(HttpSessionEventse)
当HttpSession被创建的时候会触发该方法中的代码
voidsessionDestroyed
当HttpSession被销毁的时候会触发该方法中的代码
请求监听
请求监听器用于监听请求对象的创建和销毁以及请求对象中属性的创建、删除、修改
需要实现以下连个接口:
1、ServletRequestListener:
监听ServletRequest对象的创建和销毁的
voidrequestDestroyed
(ServletRequestEventsre)
当请求对象被销毁的时候触发该方法中的代码
voidrequestInitialized
当请求对象被创建的时候触发该方法中的代码
3、ServletRequestAttributeListener:
监听对ServletRequest属性的操作
(ServletRequestAttributeEventsrae)
当请求对象中添加属性的时候触发该方法中的代码
当请求对象中属性被删除的时候触发该方法中的代码
当请求对象中属性值被更改的时候触发该方法中的代码
实现监听器的步骤:
1、编写了Java类,实现相应的监听器接口
2、在web.xml中,对自定义的监听器进行注册
第六章(连接池与数据源)
连接池原理:
预先在缓冲池中放入一定数量的连接,当需要建立连接的时候,只需从连接池中取出一个,使用完毕之后再放回去,实现连接的复用。
优点:
节约连接时间开销
缺点:
消耗内存资源
连接池使用的两种技术实现
数据源和JNDI技术
(数据源用来存放连接,JNDI用来获取数据源的连接)
如何使用连接池技术,来提高数据库的连接
步骤:
1、在tomcat中配置数据库的连接池信息(在Tomcat的conf目录中,context.xml文件中进行配置)
2、在程序中使用config获取连接池中的数据源
3、从数据源中获取一个数据库连接
Ex:
Contextic=newInitialContext();
//创建JNDI目录对象
DataSourcesource=(DataSource)ic.lookup(“java:
comp/env数据源的名字”)//从JDNI中查找数据源
Connnectionconn=source.getConnection();
//从数据源中获取一个连接
注意:
使用连接池之后,必须将sqljdbc.jar包放在tomcat的lib目录下
第七章文件上传下载与图片水印
本章目标:
·
使用JspSmartUpload文件的上传于下载
会使用Graphics图片水印
·
本章须用到的常用上传下载,图片水印的方法
了解JspSmartUpload组件中常用类及其常用方法【蓝色表示常用方法】
JspSmartUpload组件中的类
文件的上传下载常用方法
File类
isMissing()
用于判断用户是否选择了文件。
选择了false,未选时true
getFieldName()
获取该文件在HTML页面中表单项的名字
getFileName()
获取文件名称
getFilePathName()
获取文件路径
getFileExt()
获取文件后缀名
getSize()
获取文件大小,单位字节
Files类
getCount()
获取上传文件的数目
getFile(intindex)
获取指定索引的文件
Request类
getParameter(Stringname)
获取上传表单项中指定参数的值
SmartUpload类
【上传与下载公用方法】
Initialize(javax.servlet.jsp.PageContextpageContext)
执行上传下载的初始化方法,必须执行
【以下是上传常用方法】
getFiles()
获取全部上传的文件,返回JspSmartUpload的Files对象
getRequest()
获取请求Request对象,由此对象获取上传表单参数的值
upload()
上传文件数据
save(Stringurl)
将上传的所有文件保存到服务器
【以下是下载的常用方法】
downloadFile(StringfilePathName)
下载指定的服务器文件
setContent-Disposition(StringcontendDisposition)
将参数设置为null,文件将作为附件的形式下载
图片水印常用方法
ImageIcon类
ImageIcon(图片路径)构造方法
读取图片到内存中
getImage()
获取内存中的该张图片,返回Image对象
BufferedImage类
BufferedImage(高,宽,图片格式)构造方法
创建虚拟画布
getGraphics()
获取虚拟画布的画笔
ImageIO类
write(bufferedImage,图片类型,输出流)
将虚拟图片输出到客户端,其中图片类型通常为:
”jpg”;
其中输出流的获得:
response.getOutputStream()
【注:
以上表格所列方法只是常用的方法】
实例-上传文件
在jsp页面表单中,简单的表单项可以这样写:
在上传到的页面
若是jsp页面:
SmartUploadsmart=newSmartUpload();
//1、创建上传和下载对象
smart.initialize(pageContext);
//2、初始化对象
smart.upload();
//3、上传文件
smart.save("
uploadFiles"
);
//4、保存文件,参数为要保存到的文件夹
若是servlet页面
SmartUpload的初始化initialize需要得到pageContext=
this.JspFactory.getDefautlFactory().getPageContext(this,request,response,null,true,8192,true);
或者使用initialize的另一种初始化方法:
上传文件为避免文件的重名,可为文件进行改名后再保存
//得到上传的提交表单项file框文件集合
Filesfiles=smart.getFiles();
//可通过循环得到上传表单项单个file框中文件
Filef=files.getFile(i);
//isMissing判断该文件是否选择了文件,选择了文件为true
if(!
f.isMissing())
//一般将文件改为系统毫秒数,加上文件的后缀名
System.currentTimeMillis()
//改名后,保存,参数值为文件在服务器中的地址
f.saveAs(Stringurl)
若上传的表单项中还提交了参数,再servlet中request得不到参数值
需要得到JspSmartUpload中Request对象
Requestrequest=Smart.getRequest();
此request对象非HttpServletRequest对象
上述File,Files类都是JspSmartUpload中的类,不是java.io包中类】
实例-下载文件
在jsp页面的设置:
通常用a标签进行连接下载,格式:
ahref=”路径?
fileName=文件”>
文件名<
/a>
注意:
文件名不能包含某些特殊意义的符号,如‘&
’符号
在接收的页面
通过request对象获取要下载的文件名
request.getParameter(“fileName”);
//获取文件名
通过JspSmartUpload组件下载文件
将要下载的文件设置为附件的形式:
smart.setContentDisposition(null);
最后下载制定服务器位置上的文件:
smart.downloadFile(“文件路径”)
注意:
此文件路径是WebRoot下的路径
实例-图片水印
加载图片文件
使用ImageIcon加载图片到内存中:
ImageIconimageicon=newImageIcon(super.getServletContext().getRealPath(“路径”));
其中路径指在WebRoot下的文件路径,注意获取方法
使用bufferedImage类创建虚拟画布,并获取画笔,以便进行绘制
BufferedImagebuffered=newBufferedImage(width,height,BufferedImage.TYPE_3BYTE_BGR)
Graphicsg=buffered.getGraphics();
在虚拟画布上绘制图片或文字
在虚拟画布上绘制其他的图片获取文字:
drawString(),drawImage()等方法
将数据输出到客户端
获取输出流:
ServletOutputStreamout=response.getOutputStream()
使用ImageIO类输出:
ImageIO.write(buffered,”jpg”,out)
第八章Web服务
本章目标
了解Web服务的使用步骤
会简单实用Web服务
了解服务使用步骤
1.创建WebServiceProject项目。
2.创建一个WebService。
3.发布服务到Tomcat,启动Tomcat的时候,会在UDDI中进行注册。
4.查询服务的描述语言WSDL。
http:
//localhost:
8080/项目名/services/具体的服务名?
wsdl
了解Web服务的组成
SOAP:
(SimpleObjectAccessProtocol)简单对象访问协议
WSDL:
(WebServicesDescriptionLanguage)Web服务描述语言
UDDI:
(UniversalDescription,DiscoveryandIntegration)同意描述,发现,继承,相当于中介者
Web服务的特性
1、互访性
Web服务通过SOAP实现相互间的访问,任何Web服务都可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWeb 复习资料