- 浏览: 13911 次
- 性别:
- 来自: 深圳
最近访客 更多访客>>
最新评论
-
Aether:
Here is include a jsp file!
Thi ...
JSP拾遗(五)——jsp文件包含指令
在典型的J2EE中,我们的应用是通过应用服务器(如TOMCAT、JBOSS、WEBLOGIC等)来加载启动的。如果我们需要在JSP之外做些额外的操作,这些操作并不依赖客户端的请求而执行,那么,我们就需要一个途径来告知服务器,如何来实现自己的操作。而我们程序内部与WEB服务器之间交互信息的途径就是web.xml里面的配置。在这里面,提供了三个接口配置来实现我们自己的需要。这三个接口是:servlet、filter、listener。
前面的jsp所生成的java代码中我们已经看到了servlet的一个子类的结构。给我们的最直观的感觉是,所有的html都需要用out.write()或out.print()来输出,正是因为这个原因,才使得jsp大为流行,因为对于jsp来说,java编码人员和界面设计人员(美工)都可以很容易的修改。但jsp编程并不会取代servlet编程。我们可以定义一个servlet并使其在web应用启动后开始启动,这是jsp所做不到的,jsp只能在客户端发送请求后才能启动。
一个典型的servlet,包含以下方法:
void init(ServletConfig config) : 初始化servlet,根据ServletConfig传入的配置参数,来初始化相关信息。在servlet容器启动该servlet时执行,在一个servlet的生命周期内,这个方法只会执行一次;
void destroy() : 销毁servlet,释放servlet所占用的资源,如数据库链接等。在servlet容器停止该servlet时执行,在一个servlet的生命周期内,这个方法只会执行一次。
void service(ServletRequest req, ServletResponse res):处理请求并作出响应。当servlet容器指示改servlet对请求作出应答时,改方法被执行,在一个servlet的生命周期内,这个方法可以执行多次。
String getServletInfo(): 返回该servlet的说明信息,如作者,版本等,当然,也可以声明都不做。
ServletConfig getServletConfig(): 返回该servlet的配置信息。一般可以直接返回init时传入的config信息。
典型的servlet用在初始化信息、启动后台线程、执行特定请求(不需要html页面的返回信息,如输出验证码、AJAX服务端等)场合。
下面这个例子将数据库链接信息配置到web.xml中,并由servlet读取配置。
配置信息:
SystemInitServlet类中读取这些信息:<servlet>
<description>init system parameters</description>
<servlet-class>com.hx.servlet.SystemInitServlet</servlet-class>
<init-param>
<param-name>DRIVER_CLASS</param-name>
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>
</init-param>
<init-param>
<param-name>CONN_URL</param-name>
<param-value>jdbc:odbc:hxdb</param-value>
</init-param>
<init-param>
<param-name>CONN_USERNAME</param-name>
<param-value>sa</param-value>
</init-param>
<init-param>
<param-name>CONN_PASSWORD</param-name>
<param-value>sa</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
package com.hx.servlet; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * */ public class SystemInitServlet implements Servlet { private ServletConfig config; private static String DRIVER_CLASS; private static String CONN_URL; private static String CONN_USERNAME; private static String CONN_PASSWORD; /* (non-Javadoc) * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) */ public void init(ServletConfig servletConfig) throws ServletException { config = servletConfig; DRIVER_CLASS = servletConfig.getInitParameter("DRIVER_CLASS"); CONN_URL = servletConfig.getInitParameter("CONN_URL"); CONN_USERNAME = servletConfig.getInitParameter("CONN_USERNAME"); CONN_PASSWORD = servletConfig.getInitParameter("CONN_PASSWORD"); System.out.println("system init servlet processed successfully.DRIVER_CLASS=" + DRIVER_CLASS + ",CONN_URL=" + CONN_URL + ",CONN_USERNAME=" + CONN_USERNAME + ",CONN_PASSWORD=" + CONN_PASSWORD); } /** */ public static String getDriverClass() { return DRIVER_CLASS; } /** * @return */ public static String getConnectionURL() { return CONN_URL; } /** * @return */ public static String getConnectionUsername() { return CONN_USERNAME; } /** * @return */ public static String getConnectionPassword() { return CONN_PASSWORD; } /* (non-Javadoc) * @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse) */ public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { } /* (non-Javadoc) * @see javax.servlet.Servlet#destroy() */ public void destroy() { } /* (non-Javadoc) * @see javax.servlet.Servlet#getServletConfig() */ public ServletConfig getServletConfig() { return config; } /* (non-Javadoc) * @see javax.servlet.Servlet#getServletInfo() */ public String getServletInfo() { return null; } }
发表评论
-
Hadoop从零开始(一)——环境准备
2012-07-12 23:17 1467一、Linux虚拟机安装 Hadoop要运行在Uni ... -
JSP拾遗(十四)——单点登录
2009-08-03 09:58 0todo -
JSP拾遗(十三)——文件上传
2009-08-01 19:53 0TODO -
JSP拾遗(十二)——分页查询
2009-08-01 19:52 0TODO -
JSP拾遗(十一)——注册验证
2009-08-01 19:52 0TODO -
JSP拾遗(十)——权限控制
2009-08-01 19:51 0TODO -
JSP拾遗(九)——中文乱码
2009-08-01 19:48 0TODO -
JSP拾遗(八)——Listener
2009-08-01 19:44 2004Javax.servlet中定义了三类监听器:ServletC ... -
JSP拾遗(七)——Filter
2009-08-01 18:48 981一个过滤器必须要实现javax.servlet.Filter, ... -
JSP拾遗(五)——jsp文件包含指令
2009-07-12 19:36 2146<%@include file=”fileName” ... -
JSP拾遗(四)——jsp页面标签
2009-07-10 22:41 1866第二节中,我们通过JSP编译成的java源文件对比出了 ... -
JSP拾遗(三)——jsp内置对象
2009-07-08 22:40 1194在看本章介绍的jsp ... -
JSP拾遗(二)——从jsp到servlet
2009-06-16 22:08 1761无代码无真相。这里我们来看看,一个简单的jsp页面, ... -
JSP拾遗(一)——初识JSP
2009-06-16 21:53 1140我的java编程学习,即是从jsp开始。 什么是jsp ...
相关推荐
转账系统设计——Servlet技术JavaBean技术Jsp技术
JSP源码——jsp+servlet+javaBean实现MVC_jspmvc.zip
JSP源码——音乐网站(JSP+SERVLET).zip
《Java Web开发基础——从Servlet到JSP》源代码v1.0
Java在Web应用程序开发方面的巨大潜力已日趋明显,其具有多线程执行,内存管理,面向对象性和强大的...本书首先介绍Servlet API,JSP API基础知识,接着讲解如何进行对话跟踪盒调试,以及XML盒使用企业JavaBeans……
用JSP+JavaBean+Servlet开发的数据库应用实例——CD管理系统,有完整的工程源码,并且利用它演示在Servlet中连接和使用MySQL数据库。
JSP核心技术——JSP引擎内幕(2010).pdf 内除了引擎外,还有jsp标签、线程安全
JSP源码——教务管理系统(jsp+servlet+mysql).zip
JSP实例开发源码——jsp+servlet+javaBean实现MVC.zip
JSP源码——博客系统网站(JSP+SERVLET+MYSQL).zip
jsp网络编程——源文件(06——09)帮助
jsp网络编程——源文件(10——11)帮助
jsp网络编程——源文件(01——05),帮助
jsp网络编程——源文件(12——13),帮助
Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统 Jsp+JavaBean+Servlet(MVC设计模式)的寝室管理系统
jsp毕业设计——jsp报名系统.zip
基于JSP+JavaBean+Servlet开发的网上书店应用程序 使用MySQL数据库 实现基本的购物车、更改、删除订单内容;用户管理等内容
JSP网络编程——多媒体(1——3),对出学者很有帮助的。