1、探析 Servlet、JSP Web 组件和 JDBC 编程【摘要】计算机的普及和自动化办公以及自动化城市的兴起,推动了使用 JavaEE技术实现 B/S结构的 Web应用,因此 Servlet技术和 JSP组件以及 JDBC编程得到了广泛的重视和应用。本文针对 Servlet组件概述以及其生命周期、JSP 技术概述和 JSP运行的步骤以及 JDBC编程进行详细的阐述。 【关键词】Servlet 技术 JSP 技术 JDBC 编程 JavaEE Serialist 和 JSP是 JavaEE技术的两个重要的组件,扩展了 Web服务器的功能并实现了动态视图。随着 Internet的兴起和计算机网
2、络的迅猛发展,大多数企业应用越来越青睐 B/S结构的设计,浏览器只能直接访问 Web容器中的组件,譬如:Servlet 和 JSP。因此,要想使用 JavaEE技术进行 B/S结构应用的开发,就需要掌握 Servlet技术和 JSP技术,然而 JDBC编程可以实现有效的将 Servlet控制与 JSP页面联系在一起,所以,Servlet 技术、JSP 技术与 JDBC编程是实现 Web应用程序的主要技术。 一、Servlet 组件概述以及其生命周期 Servlet 是一个服务器端的组件,运行在 Web容器中,譬如:Tomcat服务容器。Servlet 是一个 Java类,不过这个类需要遵守一定
3、的规范,必须继承 Servlet API中指定的类。一般情况下,自定义的 Servlet类都继承 javax.servlet.http.HttpServlet类,并覆盖其中的方法,常用的方法是:doGet 和 doPost。Servlet 能够接受客户端请求,并通过响应生成动态页面,返回给客户端,Servlet API中通过HttpServletRequest和 HttpServletResponse对请求和响应进行了封装,并提供了处理请求和响应的方法。由于 Servlet程序设计和平台无关,不管底层的操作系统是 Windows、Solaris、Mac、Linux 还是其他能支持Java的操作
4、系统,同样的 Servlet完全可以在不同 Web服务器上执行。Servlet有着十分广泛的应用,常常用来处理客户端的请求。另外,凭借Java的强大功能,使用 Servlet还可以实现大量的服务器端管理维护功能。开发结束后,必须将 Servlet部署到 Web容器中才能运行。 要运行 Servlet,必须在 WEB-INF/web.xml文件中对 Servlet进行配置,在配置完 Servlet信息后,就可以通过浏览器访问该 Servlet。访问Servlet的方式有三种:第一种,直接在浏览器地址栏中输入 url-pattern进行访问;第二种,通过超级链接进行访问;第三种,通过表单提交来访问
5、 Servlet。不管是用那种方式进行访问,都是用 web.xml中的url-pattern值唯一标记该 Servlet。 Servlet 具有单例、多线程的特点,其生命周期分成三个阶段:第一阶段,初始化。客户端第一次访问 Servlet,或者容器加载应用时,容器调用 Servlet类的构造方法,实例化一个 Servlet对象,该对象存在于服务器端,容器将启动多线程并发访问该对象,实例化后,容器将对Servlet实例进行初始化,调用 init(ServletConfig)方法,继而再调用 init()方法;第二阶段,提供服务。在初始化完成后,容器调用Servlet接口中自定义的含参数的 ser
6、vice方法,service 方法将请求和响应对象转换为相应的对象,再调用 HttpServlet类中定义的含参数的service方法,最后将请求根据请求方式转发给对应的方法;第三阶段,销毁。Servlet 提供服务结束,或者一段时间后,容器将销毁 Servlet实例,在销毁 Servlet实例之前,容器先调用 Servlet接口中定义的destroy()方法,允许完成自定义操作。 二、JSP 技术概述和 JSP运行的步骤 JSP 是 Java Server Pages的缩写,是用来构建动态视图的 Web组件,运行于服务器端。可以认为 JSP页面就是嵌入了 Java语句的 HTML文件,JSP
7、页面不能够直接运行的,必须翻译成一个 Servlet程序,最后运行在容器上的就是这个 Servlet程序的对象实例。通常称这个由容器根据 JSP页面生成的 Servlet类叫做 JSP页面实现类。JSP 容器管理 JSP页面生命周期分为两个阶段:转换阶段和执行阶段。第一个阶段:当有一个对 JSP页面的客户请求到来时,JSP 容器检验 JSP页面的语法是否正确,如正确将 JSP页面转换为 Servlet源文件如有错误在在浏览器上面报出错误所在 jsp文件的行数;第二个阶段调用 javac工具类编译 Servlet源文件生成字节码文件,这一阶段也就是编译阶段。然后,Servlet 容器加载转换后的
8、 Servlet类,实例化一个对象处理客户端的请求,在请求处理完成后,响应对象被 JSP容器接收,容器将 HTML格式的响应信息发送到客户端,这一阶段是执行阶段。JSP 具有 4种作用域:page、request、session 和 application;9 个内置对象,包括:response、pageContext、out、config、page、exception、request、session和 application。 JSP 运行的步骤:首先,当客户端第一次访问 JSP文件时,容器将按照 Servlet规范把 JSP文件翻译成 Java文件,并存于 Tomcat相应的目录下;容器将
9、 JSP文件翻译成 Java类后,进一步经类进行编译,若编译成功。则生成 class文件,否则将在浏览器中显示编译错误;其次,容器实例化 JSP类;最后,容器进而调用 JSP类中的_jspService 方法,并将请求和响应对象传递给该方法,运行该方法,为客户端提供服务,并将响应内容返回给客户端; 三、JDBC 编程 大多数企业级应用都是用关系型数据库来存储数据,因此,使用Java语言访问数据库,是 Java编程人员必须要掌握的技能。JDBC 是Java语言访问数据库的技术,其使用面向对象技术封装了数据库的访问,可以使访问数据库的代码不依赖于数据库提供商。JDBC 包括两部分:第一部分是提供给
10、编程人员使用的 API,编程人员只要熟悉 JDBC API,就可以编写程序访问数据库、操作数据库记录,而且操作不同的数据库代码变化不大,降低了程序代码的冗余度,提高了代码的复用率。第二部分是数据库厂商使用的 JDBC API,成为 SPI,即 JDBC驱动程序。正因为不同数据库实现了不同的驱动程序,所以才能实现使用相同代码可以访问不同数据库的目标。在驱动程序中,有一个关键的类,这个类能够帮助 Java程序与数据库创建连接,称为驱动类(Driver Class) 。 使用 JDBC操作数据库的主要分为六个步骤:加载驱动类、获得连接对象、创建语句对象、执行 SQL语句、处理结果集以及释放资源。 参考文献: 1肖辉辉.基于 JSP+Servlet+JavaBean的网上拍卖系统设计与实现J.电脑开发与应用,2013, (08). 2吴晨清,荣震华.用 JSP/Servlet技术构建 Web应用J.计算机工程,2001, (01). 3赵钢.JSP Servlet+EJB的 Web模式应用研究J.电子设计工程,2013, (07).