标签归档:servlet

SERVLET基础

谈到无所不能强悍的JAVAEE就不能提到以上的这个名字,这个名词可以说是JAVA WEB编程的基础。不管你用的什么框架,什么技术,都离不开以上的这个东西。因为,JSP本身会被编译成为SERVLET来运行的。

如果这个问题你明白了,那么后边的JSP基本上就不用看了。一个SERVLET本身就是一个类,他直接或者间接的实现了SERVLET接口。有点儿晕了吧!没关系,第一个SERVLET是我们平时说的SERVLET,他是我们最终要实现的东西。而第二个SERVLET是一个JAVAEE中定义的一个接口。所有的SERVLET类都必须实现相应的方法。当然也是像tomcat这样的SERVLET容器,执行程序的过程。同时也是javaee的本质。说了这么多,我们先来看一下这个东西的接口吧!其中包含了这么几种方法:init(SERVLET初始化资源用的),service(本质方法,接受用户的请求用的,没有他SERVLET就没有用了),destroy(最后执行的销毁方法),getServletConfig(获得本身的配置信息),getServletInfo(获得本身的作者信息)。这几个方法的执行顺序是这样的。首先,SERVLET容器运行,然后运行SERVLET的init过程,在内存中生成一个对象。然后不断的相应service方法。最终伴随这SERVLET容器的关闭,而调用SERVLET的destroy方法,将自己在内存中开辟的一些空间释放掉。没错,你没有看错,自始至终存在的都只是一个SERVLET对象。当然一个SERVLET类对应了一个SERVLET对象,只是不断的相应service方法。

但是往往我们不会直接的实现SERVLET接口因为javaee开发包已经帮我们组好了一些工作,有两个类:GenericServlet(一个抽象类),HttpServlet(我们用的最多的一个类)。 继续阅读

servlet 和jsp读取web.xml中的变量

Servlet从web.xml中取值,需要在配置当前servlet的时候,配置init-param内容,其中包含<param-name>和<param-value>,然后可以在该servlet的init的方法中通过ServeletConfig的对象获得其中的信息。一个配置的样本如下:

<servlet>

<description> </description>

<display-name>TestWebxml</display-name>

<servlet-name>TestWebxml</servlet-name>

<servlet-class>com.tianmen.simpleweb.servelet.TestWebxml</servlet-class>

<init-param><param-name>connectUrl</param-name><param-value>jdbc:mysql://localhost/qixingyue_izhidao</param-value> </init-param>

<init-param><param-name>password</param-name><param-value>qixingyue</param-value> </init-param> <init-param>

<param-name>uid</param-name><param-value>123456abc</param-value> </init-param>

读取其中信息的方式是:config.getInitParameter(“uid”)这样将获得值qixingyue。

因为jsp是特殊的servlet,都是由ServletConfig对象来读取的。所以可以用相似的方式配置:

String zhutou = getServletConfig().getInitParameter(“zhutou”);

相应的配置信息应该是这样的: 继续阅读