单元2 购物网站访问量统计模块设计(JSP+Servlet)_第1页
单元2 购物网站访问量统计模块设计(JSP+Servlet)_第2页
单元2 购物网站访问量统计模块设计(JSP+Servlet)_第3页
单元2 购物网站访问量统计模块设计(JSP+Servlet)_第4页
单元2 购物网站访问量统计模块设计(JSP+Servlet)_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

单元2购物网站访问量统计模块设计(JSP+Servlet)

Servlet是Java语言应用到Web服务器端的扩展技术,它的产生为JavaWeb应用开发奠定了基础。 随着Web开发技术的不断发展,Servlet也在不断发展与完善,并凭借其安全性、高效性、方便性和可移植性等诸多优点,深受广大Java程序员的青睐。

Servlet是JavaWeb服务器端可用于执行的应用程序,是使用JavaServletAPI编写的Java程序,Servlet要符合相应规范和接口才能在Servlet容器中运行,其运行需要Servlet容器的支持。 通常情况下,Servlet容器也就是指Web容器,如Tomcat、WebLogic等,它们对Servlet进行控制,当客户端发送HTTP请求时,服务器加载Servlet对其进行处理并做出响应。 如果有多个客户端同时请求同一个Servlet时,则会启用多线程进行响应,为每一个请求分配一个线程,但提供服务的Servlet对象却只有一个。【知识梳理】 1.Servlet的主要特点 ①Servlet是运行在Web服务器上的Java应用程序,与普通的Java应用程序不同的是,它位于Web服务器端,可以对浏览器或其他HTTP客户端程序发送的请求进行处理并做出响应,将处理结果返回客户端。

②Servlet采用Java语言编写,继承了Java语言的诸多优点,同时还对Java的Web应用进行了扩展,它具有方便实用的API方法、高效的处理方式、跨平台、可移植性好、更加灵活、安全性高等特点。 ③Servlet通过HttpServletRequest接口和HttpServletResponse接口对HTTP请求进 行处理及响应,可以在处理业务逻辑之后,将动态内容返回并输出到HTML页面中, 与用户请求进行交互。Servlet还提供了强 大的过滤器功能,可以针对请求类型进行 过滤设置,为Web应用开发提供灵活性与 扩展性。 2.Servlet与JSP的比较

Servlet是一种在服务器端运行的Java应用程序,它先于JSP产生。 在服务器端运行Servlet程序,处理客户端请求,并输出HTML格式的内容,其执行过程示意图如图2-1所示。图2-1

Servlet程序执行过程示意图图2-2

JSP页面执行过程示意图 JSP虽然是在Servlet的基础上产生的,是Servlet技术的扩展,但与Servlet也存在一定的区别,主要体现在以下几个方面。 ①Servlet承担客户端请求与业务处理的中间角色,需要调用固定的方法,将动态程序代码混合到静态的HTML代码中;而在JSP页面,则可以直接使用HTML标签进行输出。 ②Servlet需要调用ServletAPI接口处理HTTP请求,而在JSP页面中,则可以直接使用内置对象进行处理。 ③Servlet的使用需要进行一定的配置,而JSP文件通过.jsp扩展名部署在容器中,容器对其自动识别,直接编译成Servlet进行处理。 3.Servlet的生命周期

Servlet的生命周期就是Servlet从创建到销毁的全过程,包括加载和实例化、初始化、处理请求和释放占用资源4个阶段。(1)加载和实例化(2)初始化(3)处理请求(4)释放占用资源 4.Servlet处理的基本流程

Servlet主要运行在服务器端,并由服务器调用执行以处理客户端的请求,并做出响应。 一个Servlet就是一个Java类,更直接地说,Servlet是能够使用print语句产生动态HTML内容的Java类。

Servlet处理的基本流程如下所示。 ①客户端(浏览器)通过HTTP提出请求。 ②Web服务器接收该请求并将其发送给Servlet,如果这个Servlet尚未被加载,Web服务器将把其加载到Java虚拟机并且执行它。 ③Servlet程序将接收该HTTP请求并执行某种处理。 ④Servlet会将处理后的结果向Web服务器返回应答。 ⑤Web服务器将从Servlet的应答发回给客户端。 5.Servlet的基本代码结构 在Java中,通常Servlet是指HttpServlet 对象,在声明一个对象为Servlet时,需要继 承HttpServlet类。

HttpServlet类是Servlet接口的一个实现 类,继承此类后,可以重写HttpServlet类中 的方法对HTTP请求进行处理。 6.Servlet接口和ServletConfig接口(1)Servlet接口 在Servlet编程时,ServletAPI提供了标准的接口与类,它们为HTTP请求与程序响应提供了丰富的方法。

Servlet的运行需要Servlet容器的支持,Servlet容器调用Servlet对象的方法对请求进 行处理。 在Servlet应用程序开发中,一个Servlet 对象都要直接或间接地实现javax.servlet.Servlet接口,该接口中包含了5个方法,这些方法的原型及功能说明如表2-2所示。方法名称方法原型功能说明init()publicvoidinit(ServletConfig

config)Servlet实例化后,Servlet容器调用init()方法完成初始化工作service()publicvoidservice(ServletRequestrequest,ServletResponseresponse)用于处理客户端的请求destroy()publicvoiddestroy()当Servlet实例对象被销毁时,Servlet容器调用destroy()释放资源getServletConfig()publicServletConfig

getServletConfig()用于获取Servlet对象的配置信息,返回ServletConfig对象getServletInfo()publicStringgetServletInfo()返回有关Servlet的信息,它是纯文本格式的字符串表2-2

Servlet接口中的方法及功能说明(2)ServletConfig接口

ServletConfig接口位于javax.servlet包中,它封装了Servlet的配置信息,在Servlet初始化期间被传递。 每一个Servlet只有一个ServletConfig对象,该对象定义了4个方法,分别是getInitParameter()、getInitParameterNames()、getServletContext()和getServletName()。 7.GenericServlet类和HttpServlet类(1)GenericServlet类 创建一个Servlet对象时,必须实现javax.servlet.Servlet接口,由于Servlet接口中包含了5个方法,所以创建Servlet对象时要实现这5个方法,这样很不方便。

javax.servlet.GenericServlet类简化了操作,实现了Servlet接口,其原型如下所示:publicabstractclassGenericServletextendsObjectimplementsServlet,ServletConfig,Serializable

(2)HttpServlet类

GenericServlet类虽然实现了javax.servlet.Servlet接口,为JavaWeb应用程序的开发提供 了方便。 但是在实际开发过程中,大多数的应用都是使用Servlet处理HTTP协议的请求,并对请求做出响应,所以通过继承GenericServlet类仍然不是很方便。

javax.servlet.http.HttpServlet类继承了GenericServlet类,并对GenericServlet类进行了扩展,为HTTP请求的处理提供了灵活的方法,可以很方便地对HTTP请求进行处理及响应。 其原型如下所示:publicabstractclassHttpServletextendsGenericServletimplementsSerializable 8.Servlet过滤器

Servlet过滤器是JavaWeb程序中的可重用组件,是客户端与目标资源间的中间层组件,用于拦截客户端的请求与响应信息。 当Web容器接收到一个客户端请求时,将判断此请求是否与过滤器对象相关联,如果相关联,则将这一请求交给过滤器进行处理。 在处理过程中,过滤器可以对请求进行操作,如更改请求中的信息数据。 在过滤器处理完成之后,再将进行其他业务处理。 当所有业务处理完成后,需要对客户端进行响应时,容器又将响应交给过滤器进行处理,过滤器完成处理后才将响应发送到客户端。

Servlet过滤器处理过程示意图如图 2-3所示。图2-3

Servlet过滤器处理过程示意图图2-4多个Servlet过滤器处理过程示意图 9.HttpServletRequest接口与HttpServletResponse 接口(1)HttpServletRequest接口

HttpServletRequest接口位于javax.servlet.http 包中,继承了javax.servlet.ServletRequest接口, 是Servlet中的重要对象,在开发过程中较常用, 其常用方法主要有getContextPath()、getCookies()、getMethod()、getQueryString()、getRequestURL()、getServletPath、getSession()。(2)HttpServletResponse接口

HttpServletResponse接口位于javax.servlet.http包中,继承了javax.servlet.ServletResponse接口,也是一个非常重要的对象,其常用方法主要有addCookie()、sendError()、sendRedirect()。 10.关于web.xml文件

Servlet作为一个组件,需要部署到Tomcat中才能正常运行。 因为所有的Servlet程序都以.class的形式存在的,所以必须在web.xml文件中进行Servlet程序的映射配置。 11.表单中action属性的正确设置 在实际开发中,经常会出现找不到Servlet而报的404错误,出现这种问题,是由于提交 后的路径与web.xml文件中的配置路径不一致造成的,可以在表单中将action属性设置为“<%=request.GetContenPath()%>/Servlet类 名”。 在Eclipase中,如果JSP页面位于文件夹WebContent的子文件夹中,则应将action属性 设置为“<%=request.GetContenPath()%>/路径/

Servlet类名”。 12.FilterAPI(1)Filter接口(2)FilterChain接口(3)FilterConfig接口【应用技巧】 本单元的应用技巧如下所示: ①Servlet对象的正确使用。 ②application对象的正确使用。 ③Servlet过滤器的正确使用。④Servlet监听器的正确使用。⑤文本文件的读取与写入方法。【环境创设】 ①准备开发Web项目所需的图片文件。 ②下载Servlet支持类库servlet-api.jar。 ③在计算机的【资源管理器】中创建文件夹unit02。 ④启动Eclipse,设置工作空间为unit02,然后进入Eclipse的开发环境。 ⑤在Eclipse集成开发环境中配置与启动Tomcat服务器。 ⑥新建动态Web项目project02。 ⑦将文件servlet-api.jar拷贝到Web项目project02的文件夹“WebContent\WEB-INF\lib”下,并在Eclipse集成开发环境的 “项目资源管理器”刷新Web项目project02。 ⑧创建包package02。【任务描述】【任务2-1】应用Servlet对象实现网站访问量的统计 创建Servlet类,在此类中重写doGet()方法,通过ServletContex接口的对象实现网站访问量的统计。【任务2-2】应用application对象实现网站访问量的统计 application对象可以将信息保存在服务器,并且保存的信息在整个应用中都有效,直到服务器关闭。 应用application对象实现网站访问量的统计。【任务2-3】应用Servlet过滤器实现网站访问量的统计 创建实现Filter接口的类,在此类中重写doFilter()方法,通过ServletContex接口的对象实现网站访问量的统计。【任务2-4】应用Servlet监听器实现网站在线人数的统计

Servlet监听器主要功能是负责监听Web程序的各种操作,当相关的事件触发之后将会产生事件,并对此事件进行处理。 在Web程序中可以对application、session和request3种操作进行监听。 针对session的监听器主要使用HttpSessionListener、HttpSessionAttributeListener和HttpSessionBindingListener 接口来实现。

HttpSessionListener接口主要用于对创建和销毁session的操作进行监听,该接口定义的主要方法有sessionCreated()和sessionDestroyed()。 要求应用HttpSessionListener监听器实现网站在线人数的统计。

【任务2-5】应用JSP+Servlet技术实现网站访问量的统计 当浏览者访问网站时,首先从特定文件中读取已有访问量数据,然后将当前网站的访问量增加1,并使用数字图片方式显示网站的当前访问量实现页面的美化,接着将网站的最新访问量写入特定文件中。 另外,当浏览者刷新访问页面时,要求显示的访问量不会增加。【任务实施】【网页结构设计】【网页CSS设计】【静态网页设计】图2-5网页unit02.html的浏览效果【网页功能实现】【任务2-1】应用Servlet对象实现网站访问量的统计(1)创建CounterServlet2_1类(2)创建web.xml文件并对CounterServlet2_1类进行配置(3)创建JSP页面task2-1.jsp(4)运行程序输出结果图2-6

JSP页面task2-1.jsp的运行结果【任务2-2】应用applic

温馨提示

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

评论

0/150

提交评论