我们通过代码和web.xml配置文件来介绍servlet的运行原理和生命周期.在这个例子中我们通过实现servlet接口来实现我们的代码。实现servlet接口就要实现接口中的所有方法。
一、代码部分(test.java)
import javax.servlet.*;
import java.io.*;
public class test implements Servlet {
private int i;
public test() {
}
/**
* 初始化servlet,该函数只会被调用一次(当用户第一次访问该servlet时)
*/
public void init(ServletConfig parm1) throws ServletException {
System.out.println("init it");
i = 0;
}
public ServletConfig getServletConfig() {
return null;
}
/**
*这个函数用于处理业务逻辑,业务代码部分在这里实现(当用户访问该servlet时,该函数都会被调用)
*/
public void service(ServletRequest parm1, ServletResponse parm2)
throws ServletException, IOException {
System.out.println("service it");
++i;
PrintWriter pw = parm2.getWriter();
pw.println("Hello World");
pw.println(i);//从输入的i值便知道,servlet是单例模式工作的,不管哪个机子访问它,它的i值都会增加,所以在多用户并发访问,将解决线程同步的问题交由程序员来控制
}
public String getServletInfo() {
return null;
}
/**
* 以下两种情况会调用destory 1、reload该servlet(在tomcat控制台中reload) 2、关闭tomcat,这个是强行结束了
*/
public void destroy() {
System.out.println("destory it");
}
}
二、web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<!--给servlet取名字,名字可以任意-->
<servlet-name>hello</servlet-name>
<!--指明servlet的路径,(包名+类名)-->
<servlet-class>test</servlet-class>
</servlet>
<!-- Define the hello Servlet Mapping -->
<servlet-mapping>
<!--和servlet中的servlet-name一致-->
<servlet-name>hello</servlet-name>
<!--这是在浏览器中输入的访问该servlet的url,是任意的-->
<!--浏览器根据这个pattern找到对应的servlet-name,再根据servlet-name找到对应的class-->
<url-pattern>/list</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
三、访问servlet
1、启动tomcat
2、输入http://127.0.0.1:8080/ServletTest/list 就可以访问servlet
四、servlet的生命周期
当第一次访问servlet时,init()会被调用,然后调用service().接下来每次访问servlet时,service都会被调用。当关闭该servlet时,或者reload该项目时,destory被调用
分享到:
相关推荐
"Servlet第一个例子"可能包括以下步骤: 1. **创建Servlet类**:在Java中,你需要继承`javax.servlet.http.HttpServlet`抽象类或实现`javax.servlet.Servlet`接口来创建一个Servlet。通常,我们会选择前者,因为它...
创建Servlet的第一个步骤是建立一个Java项目。这通常涉及到以下步骤: 1. **环境配置**:确保你已经安装了Java Development Kit (JDK) 和 Apache Tomcat。设置好环境变量,如`JAVA_HOME`和`CATALINA_HOME`。 2. **...
当服务器启动或者第一次接收到对Servlet的请求时,Servlet实例会被创建并调用其`init()`方法进行初始化。之后,每次有新的请求到达,`service()`方法会被调用来处理请求。当服务器关闭或不再需要Servlet时,会调用`...
在这个例子中,当收到请求时,Servlet将响应写入到`response`,输出字符串"我的第一个 servlet 程序"。 - `destroy()`: 当Servlet不再需要,即将被卸载时,会调用这个方法进行清理工作。在这个例子中,同样没有...
- **加载与实例化**:当第一个请求到达Servlet时,服务器会加载Servlet类并创建一个Servlet实例。 - **初始化**:创建实例后,服务器调用`init()`方法进行初始化,通常用来加载配置信息。 - **服务**:每当有新的...
- `init()`: 服务器启动或第一次请求到达时调用,用于一次性初始化工作。 - `service()`: 处理每个请求,根据请求类型分派到`doGet()`或`doPost()`等方法。 - `destroy()`: 当Servlet不再需要时,服务器会调用此...
1. **加载与实例化**:当服务器启动或第一次接收到对Servlet的请求时,会加载Servlet类,并创建Servlet实例。 2. **初始化**:创建实例后,服务器调用Servlet的`init()`方法进行初始化,通常在这里进行配置读取、...
非常实用的java web (servlet, jsp) 例子 (非常适合java web初学者)。 该例子麻雀虽小,五庄...积分给得可能高了一下,但是,第一绝对物有所值,第二不怕各位笑话,本来囊中羞涩,也想赚点积分。不好意思啦,谢谢各位
1. 用户访问JSP页面,页面加载时向Servlet发送请求,请求第一页的留言数据。 2. Servlet接收到请求后,调用JavaBean来处理数据库查询,获取第一页的留言,并将结果存储在JavaBean中。 3. Servlet将填充好的JavaBean...
创建Servlet的第一步是定义Servlet类并覆盖`doGet`或`doPost`方法。这两个方法对应HTTP的GET和POST请求。例如,`doGet`方法可能如下所示: ```java @Override protected void doGet(HttpServletRequest request, ...
2. **编译关系**:JSP在第一次被请求时会被服务器自动编译为Servlet,然后按照Servlet生命周期进行执行。 **三、Servlet_example_02实例详解** 这个例子可能包含以下几个部分: 1. **创建Servlet**:首先,我们...
如果有问题,欢迎mail联系:arklis@126.com<br>运行环境是Window XP Professional SP2. 使用Tomcat 6.0, JDK 1.6, Xdoclet 1.2.3, Ant 1.7完成的第一个web工程演示应用。为完成这个例子,需要把log4j.jar文档...
在本教程中,我们将深入探讨如何编写并运行你的第一个Servlet。 JavaWeb和JavaEE是两个紧密相关的概念。JavaWeb主要指的是使用Java技术开发的Web应用程序,它包括Servlet、JSP(JavaServer Pages)、JSTL(Java...
当客户端第一次请求某个 Servlet 时,Servlet 容器将会根据 web.xml 配置文件实例化这个 Servlet 类。当有新的客户端请求该 Servlet 时,一般不会再实例化该 Servlet 类,也就是有多个线程在使用这个实例。这样,当...
当服务器启动或第一次接收到对Servlet的请求时,Servlet会被加载和初始化。然后,每当有新的请求到来,Servlet容器(如Tomcat)都会调用Servlet的`service()`方法来处理请求。最后,当服务器关闭或者Servlet不再需要...
例如,假设我们有一个名为`User`的数据表,我们可以编写如下的SQL语句来获取第一页的10条记录:`SELECT * FROM User LIMIT 0, 10`。 - 数据查询完成后,将结果集(ResultSet)封装到一个对象(如List或自定义的...
这个"Java Servlet实现HTTP通信的例子.rar"文件包含了一个演示如何在Java环境中,特别是在Android应用开发中,使用Servlet进行网络通信的示例代码。在这个例子中,Servlet被用作服务器端的组件,接收来自Android...
JSP页面在第一次请求时会被编译成Servlet,然后由Servlet处理后续的请求。 2. Servlet:Servlet是Java编写的小程序,运行在服务器端,用于处理客户端的请求并返回响应。Servlet生命周期包括加载、实例化、初始化、...
- 该方法通常只被调用一次,当第一次请求到达时或在 Servlet 容器启动时。 - **请求处理阶段**: - `service()` 方法用于处理客户端的请求。 - 该方法可以被多次调用,每次请求都会触发一次 `service()` 方法的...
这个"struts框架第一个例子"是初学者入门Struts的重要实践,通过它我们可以了解Struts的核心概念、配置以及如何将其实现到实际项目中。 首先,让我们深入了解Struts框架。Struts是由Apache软件基金会维护的一个开源...