码迷,mamicode.com
首页 > 其他好文 > 详细

servlet总结报告一

时间:2015-05-12 09:28:37      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

一.在eclipse中开发第一个servlet程序。

1.在eclipse j2ee版建立工程Dynamic web project ->HelloWorld

2.创建一个 Servlet 接口的实现类:public class HelloServlet implements Servlet

3.在 web.xml 文件中配置和映射这个 Servlet:

<!-- 配置和映射 Servlet -->
<servlet>
<!-- Servlet 注册的名字 -->
<servlet-name>hello</servlet-name>
<!-- Servlet 的全类名 -->
<servlet-class>com.javaweb.HelloServlet</servlet-class>
</servlet>

<!--同一个Servlet可以被映射到多个URL上,即多个 <servlet-mapping> 

元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。-->
<servlet-mapping>
<!-- 需要和某一个 servlet 节点的 serlvet-name 子节点的文本节点一致 -->
<servlet-name>hello</servlet-name>
<!-- 映射具体的访问路径: / 代表当前 WEB 应用的根目录. -->
<url-pattern>/hello</url-pattern>
</servlet-mapping>

4.访问servlet: http://localhost:8080/HelloWorld/hello

二.servlet的生命周期:5步->以下方法都是由 Serlvet 容器(tomcat服务器等)负责调用.

1.判断servlet是否已经加载了servlet类(创建servlet实例),如果没有加载实现第2步否则直接跳入第3步。

2.构造器: 只被调用一次. 只有第一次请求 Servlet 时, 创建 Servlet 的实例. 调用构造器. 
这说明 Serlvet 的单实例的!

3.init 方法: 只被调用一次. 在创建好实例后立即被调用. 用于初始化当前 Servlet. 

4.service: 被多次调用. 每次请求都会调用 service 方法. 实际用于响应请求的. 

5.destroy: 只被调用一次. 在当前 Servlet 所在的 WEB 应用被卸载前调用. 用于释放当前 Servlet 所占用的资源. 

三.load-on-startup参数的介绍:

1.配置在 servlet 节点中:
<servlet>
<!-- Servlet 注册的名字 -->
<servlet-name>secondServlet</servlet-name>
<!-- Servlet 的全类名 -->
<servlet-class>com.javaweb.SecondServlet</servlet-class>
<!-- 可以指定 Servlet 被创建的时机 -->
<load-on-startup>2</load-on-startup>
</servlet>

2.load-on-startup: 可以指定 Serlvet 被创建的时机. 若为负数, 

则在第一次请求时被创建.若为 0 或正数, 则在当前 WEB 应用被
Serlvet 容器加载时创建实例, 且数组越小越早被创建. 

四.上述需要注意信息:

在Servlet映射到的URL中也可以使用 * 通配符,但是只能有两种固定的格式:
一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。
<servlet-mapping>
<servlet-name>secondServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
或者:
<servlet-mapping>
<servlet-name>secondServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
注意: 以下的既带 / 又带扩展名的不合法. 
<servlet-mapping>
<servlet-name>secondServlet</servlet-name>
<url-pattern>/*.action</url-pattern>
</servlet-mapping>

五.配置 Serlvet 的初始化参数:

<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.atguigu.javaweb.HelloServlet</servlet-class>
<!-- 配置 Serlvet 的初始化参数。 且节点必须在 load-on-startup 节点的前面 -->
<init-param>
<!-- 参数名 -->
<param-name>user</param-name>
<!-- 参数值 -->
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>1230</param-value>
</init-param>
<load-on-startup>-1</load-on-startup>
</servlet>

六.ServletConfig的介绍:封装了 Serlvet 的配置信息, 并且可以获取 ServletContext 对象。

获取初始化参数:

常见的方法-> getInitParameter(String name): 获取指定参数名的初始化参数
      -> getInitParameterNames(): 获取参数名组成的 Enumeration 对象. 

使用方法:

String user = servletConfig.getInitParameter("user");
System.out.println("user: " + user);
Enumeration<String> names = servletConfig.getInitParameterNames();
while(names.hasMoreElements()){
String name = names.nextElement();
String value = servletConfig.getInitParameter(name);
System.out.println("^^" + name + ": " + value);
}

有关ServletContext,下一篇文章我将会好好介绍。


servlet总结报告一

标签:

原文地址:http://blog.csdn.net/u011257298/article/details/45651307

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!