您好,欢迎来到六九路网。
搜索
您的当前位置:首页JavaWeb复习资料

JavaWeb复习资料

来源:六九路网
第一张 XML应用

常用的解析XML的API(DOM、JDOM、DOM4J、SAX) JDOM解析XML:1实例化解析器对象(SaxBuiderXML buider = new SaxBuilderXML) 2:构建XML文档对象DOCUMENT(DOCUMENT doc = builder.build(new file(“”)))3:根据文档对象获取根节点(Element root = doc.getrootElement());

JDOM生成XML:1创建XML根节点(Element student = new Elmet(“class”))2创建文档对象3将文档对象写成XML(XmloutPuter out = new…out.outPut(doc.new FileOutputStream(“”)))

DOM4J解析XML:与JDOM类似1:创建解析器(SaxReader saxreader = new …) 2:创建文档对象(同上)3:获取根节点(同上)

DOM4J生成XML1:创建documen文档对象2:添加元素3:设置格式4:保存XML文件

第二章 EL表达式

EL(Exoressuib Language(表达式语言)) EL的语法:${表达式}

EL:为了方便取得并输出数据而定义的一种语言。避免页面上出现大量的Java代码使数据更简单

装值与取值:

Request.setAttribut()requestScore Session.setAttribut()sessionScore

Application.setAttributeApplicationScore 取值语法:

XXXScore. / XXXSrore[„‟] / XXXScore[“”] 隐式对象:param可以用来表示request.getParameter(“”);

第三章 自定义标签

1.2标准:主要是用Bodytagsupport类,标签用Tagsupport类; 在类中重写doStartTag()、doAfterBody()、doEndTag()方法

将Java类转换成标签所使用的*.tld文件,文件必须保存在WEB-INF文件下

使用

2.0标准:使用步骤:

1. 在WEB-INF目录下面,创建tags文件夹。

2. 在tags目录下面,创建标签文件(后缀名必须是*.tag)

3. 在jsp页面中使用标签文件<%@ taglib tagdir=”WEB-INF/tags” prefix=”标签的前缀

名” %>

第四章(JSP标准标签)

JSTL(Jsp Standard Tag Library):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页面使用<%@ taglib uri=”” %>导入tld的别名。

常用标签:

通用标签:

----用于在jsp中显示数据

——表示定义变量,将变量存放在指定位置(page | request | session | application)。 语法:

(适合简单类型) 或者

(适合复杂类型)

—— 表示移除指定范围的变量。 语法:

——主要用来处理所产生的异常 语法:

流程控制标签: 用法与Java中的if用法一致 语法:

用于多条件选择,和以及一起使用,不接受任何属性 语法:

---------的一个条件分支,只能在中使用 条件1„„„.

---------代表是中的最后选择,它必须在最后出现,没有属性 //表示其他

迭代标签:

varStatus的四个值:currentData.index 下标 currentData.count 当前是第几行

currentData.first 是否是第一行

currentData.last 是否是最后一行

导入标签

更通用、功能更强大的指令

用于向用户的浏览器发送HTTP重定向响应,它是JSTL中与HttpServletResponse

的sendRedirce()方法功能相当的标签

格式化标签库Format常用标签

国际化标签:

格式化标签:

第五章(过滤器与事件监听)

过滤器:实质是一个实现相应接口的Java类,它处于客户端和web资源之间,用于对请求

或者响应,添加一些额外的处理, 用于拦截源数据和目的数据之间的消息,并且过滤二者之间传递的数据。(举个简单的例子,我们打游戏的时候就知道,如果我们发送一些敏感的字符,就会被*号替代掉,敏感的字符被过滤掉了)

过滤器的好处:

1、它以一种模块化的可重用的方式封装公共的行为 2、利用它能够将高级访问决策与表现代码分离

3、过滤器使用能够对许多不同的资源进行批量的更改

所有的过滤器都必须实现Filter(javax.servlet.Filter)接口,此接口包含了三个方法,分别是doFilter()、init()、destory()。

过滤器的生命周期:

实例化 ---- 初始化 ------过滤 -------- 销毁 (构造方法) (init()) (doFilter()) (destory()) 实现过滤器的效果:

1、建立一个实现filter接口的类 2、配置web.xml encoding 包名.类名 encoding 过滤文件的路径

利用filterChain来调用多个过滤,称之为过滤器链

事件监听(当触发了某一个事件,然后对事件进行处理) 分类:Servlet上下文事件 会话事件 请求事件

对servlet上下文的监听:

可以监听ServletContext对象的创建和删除以及属性的添加、删除和修改等操作,该需要用到两个接口类:

1、 ServletContextAttributeListner:监听ServletContext属性的操作,如增加、删除、修改 常用的方法:

方法 说明

void attributeAdded( 当新的属性加入到Servlet上下文后触发该方ServletContextAttributeEvent scae) 法中的代码 void attributeRemoved( 当删除Servlet上下文中属性后会触发该方法ServletContextAttributeEvent scae) 中的代码 void attributeReplaced( 当修改Servlet上下文中某个属性的值后会触ServletContextAttributeEvent scae) 发该方法中的代码

2、 ServletContextListener:监听ServletContext,当创建ServletContext时,激发

contextInitialized方法;当销毁ServletContext时,激发contextDestory方法。 常用的方法: 方法 说明 void contextDestroyed( 当上下文对象被销毁的时候触发该方法中的ServletContextEvent sce) 代码 void contextInitialized( 当上下文对象被初始化的时候触发该方法中ServletContextEvent sce) 的代码

监听Http会话

会话可以监听Http会话的活动情况,Http会话中属性的设置情况(添加、删除、修改)、Http会话的active(锐化)、passivate(钝化)情况 需要实现以下两个接口:

1、 HttpSessionLinstener:监听HttpSession对象的创建和销毁的 常用的方法: 方法 说明 void attributeAdded 当添加属性到HttpSession中的时候自动触发(HttpSessionBindingEvent se) 该方法中的代码 void attributeRemoved 当从HttpSession中删除属性的时候触发该方(HttpSessionBindingEvent se) 法中的代码 void attributeReplaced 当修改HttpSession中的属性的时候触发该方(HttpSessionBindingEvent se) 法中的代码

2、 HttpSessionAttributeListener:监听对HttpSession属性的操作 常用方法: 方法 说明 void sessionCreated (HttpSessionEvent se) void sessionDestroyed (HttpSessionEvent se)

当HttpSession被创建的时候会触发该方法中的代码

当HttpSession被销毁的时候会触发该方法中的代码

请求监听

请求用于监听请求对象的创建和销毁以及请求对象中属性的创建、删除、修改 需要实现以下连个接口:

1、ServletRequestListener :监听ServletRequest对象的创建和销毁的 常用方法: 方法 说明 void requestDestroyed (ServletRequestEvent sre) void requestInitialized (ServletRequestEvent sre)

当请求对象被销毁的时候触发该方法中的代码

当请求对象被创建的时候触发该方法中的代码

3、 ServletRequestAttributeListener :监听对ServletRequest属性的操作 常用方法: 方法 说明 void attributeAdded 当请求对象中添加属性的时候触发该方(ServletRequestAttributeEvent srae) 法中的代码 void attributeRemoved 当请求对象中属性被删除的时候触发该(ServletRequestAttributeEvent srae) 方法中的代码 void attributeReplaced 当请求对象中属性值被更改的时候触发(ServletRequestAttributeEvent srae) 该方法中的代码

实现的步骤:

1、编写了Java类,实现相应的接口 2、在web.xml中,对自定义的进行注册

第六章(连接池与数据源)

连接池原理:预先在缓冲池中放入一定数量的连接,当需要建立连接的时候,只需从连接池

中取出一个,使用完毕之后再放回去,实现连接的复用。

优点:节约连接时间开销 缺点:消耗内存资源

连接池使用的两种技术实现 数据源和JNDI技术

(数据源用来存放连接,JNDI用来获取数据源的连接)

如何使用连接池技术,来提高数据库的连接

步骤:1、在tomcat中配置数据库的连接池信息(在Tomcat的conf目录中,context.xml文

件中进行配置)

2、在程序中使用config获取连接池中的数据源 3、从数据源中获取一个数据库连接 Ex: Context ic=new InitialContext(); //创建JNDI目录对象 DataSource source=(DataSource)ic.lookup(“java:comp/env数据源的名字”) //从JDNI中查找数据源 Connnection conn=source.getConnection(); //从数据源中获取一个连接 注意:使用连接池之后,必须将sqljdbc.jar包放在tomcat的lib目录下

第七章 文件上传下载与图片水印

本章目标: ·使用JspSmartUpload文件的上传于下载 ·会使用Graphics图片水印

·本章须用到的常用上传下载,图片水印的方法 了解JspSmartUpload组件中常用类及其常用方法【蓝色表示常用方法】

JspSmartUpload组件中的类 File类 方法 说明 文件的上传下载常用方法 isMissing() getFieldName() getFileName() getFilePathName() getFileExt() getSize() Files类 Request类 SmartUpload类 getCount() getFile(int index) getParameter(String name) Initialize(javax.servlet.jsp.PageContext pageContext) getFiles() getRequest() upload() save(String url) 用于判断用户是否选择了文件。选择了false,未选时true 获取该文件在HTML页面中表单项的名字 获取文件名称 获取文件路径 获取文件后缀名 获取文件大小,单位字节 获取上传文件的数目 获取指定索引的文件 获取上传表单项中指定参数的值 【上传与下载公用方法】 执行上传下载的初始化方法,必须执行 【以下是上传常用方法】 获取全部上传的文件,返回JspSmartUpload的Files对象 获取请求Request对象,由此对象获取上传表单参数的值 上传文件数据 将上传的所有文件保存到服务器 【以下是下载的常用方法】 downloadFile(String filePathName) setContent-Disposition(String contendDisposition) 下载指定的服务器文件 将参数设置为null,文件将作为附件的形式下载 图片水印常用方法 ImageIcon类 BufferedImage类 ImageIcon(图片路径)构造方法 getImage() BufferedImage(高,宽,图片格式)构造方法 getGraphics() ImageIO类 write(bufferedImage,图片类型,输出流) 读取图片到内存中 获取内存中的该张图片,返回Image对象 创建虚拟画布 获取虚拟画布的画笔 将虚拟图片输出到客户端,其中图片类型通常为:”jpg”;其中输出流的获得:response.getOutputStream() 【注:以上表格所列方法只是常用的方法】

·实例-上传文件 ·在jsp页面表单中,简单的表单项可以这样写:

·在上传到的页面

若是jsp页面:

SmartUpload smart = new SmartUpload();//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框文件集合 Files files = smart.getFiles();

//可通过循环得到上传表单项单个file框中文件 File f = files.getFile(i);

//isMissing判断该文件是否选择了文件,选择了文件为true if(!f.isMissing())

//一般将文件改为系统毫秒数,加上文件的后缀名 System.currentTimeMillis()

//改名后,保存,参数值为文件在服务器中的地址 f.saveAs(String url)

·若上传的表单项中还提交了参数,再servlet中request得不到参数值

需要得到JspSmartUpload中Request对象 Request request = Smart.getRequest(); 此request对象非HttpServletRequest对象

【注:上述File,Files类都是JspSmartUpload中的类,不是java.io包中类】

·实例-下载文件 ·在jsp页面的设置: 通常用a标签进行连接下载,格式:文件名 注意:文件名不能包含某些特殊意义的符号,如‘&’符号 ·在接收的页面 通过request对象获取要下载的文件名 request.getParameter(“fileName”);//获取文件名 通过JspSmartUpload组件下载文件 SmartUpload smart = new SmartUpload();//1、创建上传和下载对象

smart.initialize(pageContext); //2、初始化对象

最后下载制定服务器位置上的文件:

将要下载的文件设置为附件的形式: smart.setContentDisposition(null);

smart.downloadFile(“文件路径”)

注意:此文件路径是WebRoot下的路径

·实例-图片水印 ·加载图片文件 使用ImageIcon加载图片到内存中: ImageIcon imageicon=new ImageIcon(super.getServletContext().getRealPath(“路径”)); 其中路径指在WebRoot下的文件路径,注意获取方法 ·创建虚拟画布 使用bufferedImage类创建虚拟画布,并获取画笔,以便进行绘制 BufferedImage buffered =

newBufferedImage(width,height,BufferedImage.TYPE_3BYTE_BGR) Graphics g = buffered.getGraphics(); ·在虚拟画布上绘制图片或文字 在虚拟画布上绘制其他的图片获取文字:drawString(),drawImage()等方法 ·将数据输出到客户端 获取输出流: ServletOutputStream out = response.getOutputStream() 使用ImageIO类输出: ImageIO.write(buffered,”jpg”,out)

第八章 Web服务

本章目标 ·了解Web服务的使用步骤 ·会简单实用Web服务

·了解服务使用步骤 1. 创建Web Service Project项目。

2. 创建一个Web Service。

3. 发布服务到Tomcat,启动Tomcat的时候,会在UDDI中进行注册。 4. 查询服务的描述语言WSDL。

http://localhost:8080/项目名/services/具体的服务名?wsdl

·了解Web服务的组成 SOAP:(Simple Object Access Protocol)简单对象访问协议 WSDL:(Web Services Description Language)Web服务描述语言 UDDI:(Universal Description,Discovery and Integration)同意描述,发现,继承,相当于中介者

·Web服务的特性

1、 互访性

Web服务通过SOAP实现相互间的访问,任何Web服务都可以与其他的Web服务进行交互,避免不同协议之间的相互转换(如:Net可以通过Web服务于Java进行交互) 2、 普遍性

Web服务使用HTTP和XML进行通信,任何支持这些技术的设备都可以拥有和和访问Web服务,不仅出存在计算机网络,还可以存在于电话、汽车,家用电器等设备中 3、 廉价性

Web服务应用商提供的免费工具箱能够让开发者快速创建和部署自动Web服务,

降低了Web服务的开发费用,且加快了开发速度…..

第九章 JavaMain应用与开发

本章目标 ·了解JavaMail的几个包,掌握发邮件的几个常用类 ·使用Session、MimeMessage、Transport等类发送邮件和获取邮箱中的邮件

本章所要用到的类及其方法 Propertice类 put(key,value) 创建配置后,添加配置到属性文件中,必须添加一项为: “mail.smtp.auth”,其value值设置“true” 创建邮件的会话,其属性为上面的Propertice对象 以参数-协议的方式登录邮箱,准备发送邮件 得到邮件会话的邮件存储对象 根据Session对象创建邮箱的消息对象 设置发件人,参数为发件人邮箱号 设置收件人,参数1为发送邮件的发送类型(直接发送,密发等),参数2为收件人邮箱号 设置邮件的主题 设置邮件的内容 注:设置的内容为纯文本 设置发送邮件的时间,参数为Date对象 存储邮件信息 获取所有收件人的邮箱号,返回为地址数组 发送html形式的内容 将DataHandler对象添加到该对象中作为附件形式 将MimeBodyPart对象添加到该对象中作为附件形式 创建文件形式的附件 Session类 getInstance(属性) getDefaultInstance(属性) getTransport(协议) getStore() MimeMessage类 MimeMessage(Session)构造方法 setFrom(InternetAddress) setRecipient(RecipientType, InternetAddress) setSubject(标题) setText(内容) setSentDate(日期) saveChanges(); getAllRecipients() MimeBodyPart类 setContent(邮件内容) addBodyPart() MimeMultipart类 FileDataSource类 addBodyPart(MimeBodyPart) FileDataSource(路径) 构造方法 DataHandler类 DataHandler(FileDataSource对象) 构造方法 将FileDataSource对象转换为邮件的附件格式 Transport类 Connect(邮件服务器地址,用户名,密码) 连接到指定邮箱服务器 其中参数服务器地址可以是制定Ip,或者:”smtp.163.com”等的格式 发送邮件 获取邮箱服务器中指定文件夹 验证该文件夹是否存在 以某种方式打开该文件夹 获取该文件夹下的所有邮件,返回邮件数组 sendMessage(MimeMessage, 收件人[数组]) Store类 Folder类 getFolder(文件夹名) exists() open(打开方式) getMessage()

·实例-发送纯文本邮件 1、创建一个邮件对象:

2、设置邮件的属性:

3、将邮件发送出去:

·实例-发送HTML邮件

1、 创建邮件对象,与发送纯文本一致

2、 设置邮件的基本属性之外,邮件的内容要通过MimeBodyPart对象封装后装进

MimeMultipart中,最后装进MimeMessage中

3、设置完其他属性后,发送邮件,与发送纯文本邮件方法一致 ·实例-发送带附件的邮件

1、 创建邮件对象,与发送纯文本一致 2、 设置邮件的基本属性之外,邮件的内容要通过MimeBodyPart对象将附件装到里面

其,然后封装后装进MimeMultipart中,最后装进MimeMessage中

3、 设置为其他属性后,发送邮件,与发送纯文本邮件方法一致

·实例-显示邮箱中的邮件

1、 创建Session会话,以pop3的协议进入邮箱服务器

2、 获取收件箱,并取得收件箱中所有邮件

3、 将每封邮件以循环的方法输出其属性

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务