10第十章JSP相关技术及MVC模式_第1页
10第十章JSP相关技术及MVC模式_第2页
10第十章JSP相关技术及MVC模式_第3页
10第十章JSP相关技术及MVC模式_第4页
10第十章JSP相关技术及MVC模式_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java网络编程原理与JSPWeb核心开发技术

1第十章JSP相关技术及MVC模式10.1 JSP的文件操作

10.2

JSP的邮件发送技术10.3

Ajax技术10.4

MVC设计模式及应用210.1 JSP的文件操作10.1.1JSP的目录操作目录操作相对应的应用类是File,所在类包是java.io。

方法功能File(Stringpathname)构造函数,根据路径创建File类对象File(URLurl)构造函数,根据网络地址创建File类对象isDirectory()判断输入的字符串是否是目录isFile()判断输入的字符串是否是文件delete()删除目录或文件mkdir()创建目录mkdirs()根据字符串创建所有不存在的目录(如c:/demo/aa,如果这两个目录都不存在,则一并创建)getPath()获取文件所在路径的名字getName()获取目录或文件的名字exists()判断目录或文件是否存在310.1.2JSP的文本文件操作读入和写出文本文件的类是FileReader类和FileWriter类。方法功能FileReader(Filefile)构造函数,创建文件读入类对象FileReader(Stringfilename)构造函数,根据参数字符串创建文件读入类对象read()读入一个字节getEncoding()取得读入类的编码机制ready()判断文件读入类是否到达文件末尾方法功能FilWriterer(Filefile)构造函数,创建文件写出类对象FileWriter(Stringfilename)构造函数,根据参数字符串创建文件写出类对象close()关闭文件写出类,将内容保存到文件中方法功能write(char[]cbuf,intoff,intlen)写入字符数组,off定义写开始位置,len定义长度write(Stringstrstr,intoff,intlen)写入字符串,off定义写开始位置,len定义长度write(intc)写入一个字符getEncoding()取得写出类的编码机制410.1.3JSP的流文件操作读入写出流文件的类是FileInputStream类和FileOutputStream类,所在类包是java.io。

方法功能FileInputStream(Filefile)构造函数,根据File类对象创建流文件读入类对象FileInputStream(Stringname)构造函数,根据字符串参数创建流文件读入类对象available()返回流文件长度read()读取一个字节数据read(byte[]b)读取流文件的全部数据,保存在字节数组中read(byte[]b,intoff,intlen)读取流文件中指定范围的数据,保存在字节数组中skip(longn)跳过流文件中的长度为n的数据方法功能FilOutputStream(Filefile)构造函数,创建流文件写出类对象FileOutputStream(Stringname)构造函数,根据字符串参数创建流文件写出类对象close()关闭流文件写出类,将内容保存到文件中write(byte[]b)将字符数组的内容写入文件write(byte[]b,intoff,intlen)将指定范围的数据写入文件write(intb)写入一个数据到文件510.1.4文件的上传和下载jspSmartUpload组件的安装与配置jspSmartUpload组件中的主要类

在jspSmartUpload组件中主要包含File、Files、Request和SmartUpload核心类。

File类方法功能saveAs()保存文件isMissing()判断用户是否选择了文件。对应<inputtype=“file”>标记getFileName()获取文件的文件名getFilePathName()获取文件的文件全名,包括文件的完整路径getFileExt()获取文件的扩展名,不包含“.”getSize()获取文件大小,单位为字节,返回值为int类型getBinaryData(intindex)获取文件数据中index指定位置的一个字节,返回值为byte类型610.1.4文件的上传和下载jspSmartUpload组件中的主要类

Files类Request类方法功能getCount()获取上传文件的数目,返回值为int类型getSize()获取上传文件的总长度,单位为字节,返回值为long类型getCollection()将所有File对象以Collection的形式返回getEnumberation()将所有File对象以Enumberation的形式返回方法功能getParameter(Stringname)获取Form表单中由参数name指定的表单元素的值。当该表单元素不存在时,返回nullgetParameterNames()获取Form表单中除<inputtype=“file”>外的所有表单元素的名称,返回值为枚举类型(Enum)的对象getParameterValues(Stringname)获取Form表单中多个具有相同名称的表单元素的值,该名称由参数name指定,返回值为字符串数组710.1.4文件的上传和下载jspSmartUpload组件中的主要类

SmartUpload类方法功能setDeniedFilesList(StringdeniedFilesList)设置禁止上传的文件,参数deniedFileList指定禁止上传文件的扩展名,多个扩展名之间以“,”分隔setAllowedFilesList(StringallowedFilesList)设置允许上传的文件,参数allowedFileList指定允许上传文件的扩展名,多个扩展名之间以“,”分隔setMaxFileSize(longmaxFileSize)设置允许上传文件的最大长度setTotalMaxFileSize(longTotalMaxFileSize)设置允许上传文件的总长度getFiles()获取全部上传文件,以File对象形式返回getSize()获取上传文件的总长度getRequest()获取com.jspsmart.upload.Request对象setContentDisposition

(StringcontentDisposition)文件下载使用的方法,用于将数据追加到MIME文件头的CONTENT-DISPOSITION域,参数为要追加的数据downloadFile()实现文件下载810.2 JSP的邮件发送技术10.2.1JavaMailAPI简介

是Sun开发的最新标准扩展API之一,给Java应用程序开发者提供了独立于平台和协议的邮件/通信解决方案。封装了按照各种邮件通信协议,如SMTP、POP3、IMAP和MIME,与邮件服务器通信的细节,为Java应用程序提供了编写和收发电子邮件的公共接口。/products/javamail/downloads/index.html,可下载最新版本的JavaMail,下载后将其中的mail.jar文件添加到系统的CLASSPATH中。在安装JavaMail之后,还需要安装JAF(JavaBeansActivationFramework),因为这个框架是JavaMailAPI所需的,为JavaMail提供了基本的MIME类型支持。

96.2 JSP的邮件发送技术10.2.2JavaMailAPI结构

javax.mail.Session类

Session类定义了基本的邮件会话,是JavaMailAPI的最高层入口类。从java.util.Properties对象中获取配置信息,如邮件发送服务器的主机名或IP地址、接受邮件的协议、发送邮件的协议、用户名、口令及整个应用程序中共享的其他信息。通过使用Session类提供的getDefaultInstance()这个静态工厂方法获得一个默认的Session对象:Propertiesprops=newProperties();informationSessionsession=Session.getDefaultInstance(props,null);或者使用getInstance()这个静态工厂方法获得自定义的Session:Propertiesprops=newProperties();informationSessionsession=Session.getInstance(props,null);106.2 JSP的邮件发送技术10.2.2JavaMailAPI结构

javax.mail.Authenticator类

创建会话时要使用Authenticator对象进行认证。代表一个可以为网络连接获取认证信息的对象。

创建Authenticator的子类,在会话对象创建时注册Authenticator对象:publicclassPopupAuthenticatorextendsAuthenticator{Stringusername=null;//用户名

Stringpassword=null;//用户密码

publicPopupAuthenticator(){}publicPopupAuthenticator(Stringname,Stringpwd){username=name;password=pwd;getPasswordAuthentication();}protectedPasswordAuthenticationgetPasswordAuthentication(){returnnewPasswordAuthentication(username,password);}

}

116.2 JSP的邮件发送技术10.2.2JavaMailAPI结构

javax.mail.Message类

Message类代表电子邮件。

Message类提供了读取和设置邮件内容的方法。邮件主要包含内容:地址信息,包括发件人地址、收件人地址列表、抄送地址列表和广播地址列表;邮件标题;邮件发送和接收日期;邮件正文(包括纯文本和附件)。Message是抽象类,使用ernet.MimeMessage子类。

javax.mail.Address类Address类代表邮件地址。Address类也是抽象类。所以使用ernet.InternetAddress子类,通过参数代表邮件地址的字符串,可以建立一个邮件地址:Addressaddress=newInternetAddress("president@");126.2 JSP的邮件发送技术10.2.2JavaMailAPI结构

javax.mail.Transport类

根据指定的邮件发送协议(通常是SMTP),通过指定的邮件发送服务器来发送邮件。Transport类也是抽象类,通过静态方法send(Message)负责发送邮件:Transport.send(message);发送邮件

javax.mail.Store类Store类代表接收邮件服务器上注册用户的存储空间,通过Store类的getFolder()方法,可以访问用户的特定邮件夹。javax.mail.Folder类Folder类代表邮件夹,邮件都放在邮件夹中,Folder类提供了管理邮件夹以及邮件的各种方法。

136.2 JSP的邮件发送技术10.2.3在JSP页面中使用JavaMailAPI发送E-mail

例程10-7

处理发送邮件请求的步骤如下:

①使用Session.getInstanced()创建一个至邮件主服务器的会话。②使用newInternetAddress()创建发送者和接收者地址对象。③使用newMimeMessage(Sessionsession)创建一个消息体。④使用Message对象的setFrom()和setRecipient()方法指定收信人和发信人。⑤使用setSubject()指定邮件主题。⑥使用setContext()指定消息体和信息编码类型。⑦使用Transport.send(message)来发送消息,完成邮件发送。10.2.4在JSP页面中发送包含附件的E-mail

1410.3 Ajax技术10.3.1Ajax概述Ajax(AsynchronousJavaScriptandXML,异步的JavaScript和XML)是一种创建交互式网页应用的网页开发技术,作为流行的Web开发技术,它可以构建更为动态和响应更灵敏的Web应用程序。1510.3 Ajax技术10.3.1Ajax概述Ajax(AsynchronousJavaScriptandXML,异步的JavaScript和XML)是一种创建交互式网页应用的网页开发技术,作为流行的Web开发技术,它可以构建更为动态和响应更灵敏的Web应用程序。Ajax不是一种技术。实际上,它由几种发展的技术以新的强大方式组合而成。Ajax包含如下:基于XHTML和CSS标准的表示。使用DOM(DocumentObjectModel)进行动态显示和交互。使用XMLHttpRequest与服务器进行异步通信。使用JavaScript绑定。16技术名称功能JavaScriptJavaScript是通用的脚本语言,嵌入在某种应用之中。Web浏览器中嵌入的JavaScript解释器允许通过程序与浏览器的很多内建功能进行交互。Ajax应用程序是使用JavaScript编写的CSS(层叠样式表)CSS为Web页面元素提供了一种可重用的可视化样式的定义方法。它提供了简单而又强大的方法,以一致的方式定义和使用可视化样式。在Ajax应用中,用户界面的样式可以通过CSS独立修改DOM(文档对象模型)DOM以一组可以使用JavaScript操作的可编程对象展现出Web页面的结构。通过使用脚本修改DOM,Ajax应用程序可以在运行时改变用户界面,或者高效地重绘页面中的某个部分XMLHttpRequest对象XMLHttpRequest对象允许Web程序员从Web服务器以后台活动的方式获取数据。数据格式通常是XML1710.3.2Ajax关键技术JavaScript脚本语言

CSS样式文档对象模型DOM

XMLHttpRequest

可扩展性标记语言XML

10.3.3Ajax框架DojoDWRAjaxTagsStrutsAjaxTagsAjax-JSFFramework10.3.4在JSP中应用Ajax技术

1810.4 MVC设计模式及应用10.4.1MVC设计模式

MVC组件View视图

视图是用户看到并与之交互的界面。

Model模型

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。

Control控制

控制器接受用户的输入并调用模型和视图完成用户的需求。192010.4MVC设计模式及应用MVC的优点低耦合性

高重用性和可适用性较低的生命周期成本快速的部署可维护性有利于软件工程化管理常用的MVC框架

Struts:Apache最流行的MVC组件。

Struts2:Apache用Struts和WebWork组合出来的新产品。

WebWork:传统MVC组件,后来组合成了Struts2,目前自身仍在发展。

SpringMVC:SpringFramework整合自己Spring的优势推出的MVC组件。

JSF:设计规范,Sun和Apache都有各自的实现。Tapestry:较彻底的MVC开发框架,丰富的组件资源,重用性很高。2110.4MVC设计模式及应用10.4.2Struts框架结构Struts体系结构实现了Model-View-Controller设计模式的概念,将这些概念映射到Web应用程序的组件和概念中。Model1:JSP+JavaBean

④浏览器JSPJavaBeanESDB②③应用服务器①企业服务器ES/数据库DB2210.4MVC设计模式及应用10.4.2Struts框架结构Model2:JSP+Servlet+JavaBean浏览器Servlet(Controller)JavaBean(Model)ESDB②③应用服务器①企业服务器ES/数据库DBJSP(View)④⑤2310.4MVC设计模式及应用10.4.2Struts框架结构Struts组件结构2410.4MVC设计模式及应用10.4.2Struts框架结构Struts框架详解 (1)控制器:用户的请求会首先被提交到控制器,控制器并不直接对该请求进行服务,而是调用相应的模型处理请求,最后控制器将对该请求的处理结果返回指定的视图显示。

Struts控制器主要包括以下三个组件:

ActionServlet

RequestProcessor Action

2510.4MVC设计模式及应用10.4.2Struts框架结构Struts框架详解 (2)视图:使用JSP作为主要的视图工具。 视图是模型的表示。当用户通过视图表单向Servlet发送数据时,使用ActionForm组件,其作用就是将用户提交的数据包装成一个Bean对象,除了基本的get()和set()方法外,还提供了另外两种特殊的方法reset()和validate()用于对用户提交的数据进行初始化和验证工作。 (3)模型:采用其他模型组件来实现业务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论