package com.bjsxt;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestInitServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html;charset=GBK");
PrintWriter out = resp.getWriter();
out.println(this.getServletConfig().getServletName());
java.util.Enumeration params = this.getServletConfig()
.getInitParameterNames();
for (; params.hasMoreElements();) {
String name = params.nextElement().toString();
String value = this.getServletConfig().getInitParameter(name);
out.println(value);
}
out.close();
}
}
<servlet>
<servlet-name>TestInitServlet</servlet-name>
<servlet-class>com.bjsxt.TestInitServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>小王</param-value>
</init-param>
<init-param>
<param-name>gender</param-name>
<param-value>男</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>TestInitServlet</servlet-name>
<url-pattern>/servlet/TestInitServlet</url-pattern>
</servlet-mapping>
输出:TestInitServlet 小王 男
有些朋友会发现在GenericServlet为什么要有两个init方法呢?
public void init()
A convenience method which can be overridden so that there's no need to call super.init(config).
void init(ServletConfig config)
Called by the servlet container to indicate to a servlet that the servlet is being placed into service.
如果不提供init()方法的话,我们如果重写init(config)又忘记写super.init(config)了的话,就会出错
实际上就是怕程序员忘记写super.init(config)
现在提供了init()方法了它说so that there's no need to call super.init(config).
分享到:
相关推荐
这个"java servlet 两个小例子"的压缩包显然包含了两个基础的Servlet应用实例,适合初学者用来学习和理解Servlet的工作原理。让我们深入探讨一下Servlet的基本概念以及如何通过这两个例子进行学习。 Servlet是一个...
3. **HttpServletRequest和HttpServletResponse接口**:这两个接口是Servlet API中的核心部分,分别代表了HTTP请求和响应。它们提供了访问请求头、参数、属性以及设置响应状态码、内容类型和数据的方法。 4. **...
这是Servlet过滤器的初始化方法,Servlet容器创建Servlet过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain)...
该接口提供了两个主要方法:`forward`和`include`。 ##### 1. forward方法 ```java public void forward(ServletRequest request, ServletResponse response) throws ServletException, IOException; ``` **作用...
其中包括两个用于所有 Servlet 的基本软件包:javax.servlet 和 javax.servlet.http。可从sun公司的Web站点下载 Java Servlet 开发工具。 下面主要介绍javax.servlet.http提供的HTTP Servlet应用编程接口。 ...
然而,在`GenericServlet`抽象类中,我们看到了两个`init()`方法:一个带参数,一个不带参数。`HttpServlet`继承自`GenericServlet`,但并没有提供自己的`init()`实现。在`GenericServlet`中,`init(ServletConfig ...
`GenericServlet`和`HttpServlet`是Servlet接口的两个常见实现。`GenericServlet`是一个抽象类,提供了通用的Servlet功能,而`HttpServlet`则进一步专门化,专为处理HTTP协议的请求。 2. **Servlet生命周期**:...
这个接口定义了两个主要方法:`init()`和`service()`。`init()`方法在Servlet实例被创建并准备处理请求之前调用,用于初始化Servlet。在这里,开发者可以进行一些一次性设置,如加载配置信息或建立数据库连接。`...
4. **HttpServletRequest** 和 **HttpServletResponse**:这两个接口分别代表了HTTP请求和响应对象,它们提供了处理HTTP请求头、获取请求参数、设置响应状态码和输出数据的方法。 5. **Servlet生命周期**:包括加载...
Servlet API主要由两个Java包组成:`javax.servlet`和`javax.servlet.http`。 1. `javax.servlet`包定义了所有Servlet类都必须实现的基本接口和类。 2. `javax.servlet.http`包扩展了`javax.servlet`包的基础功能,...
当服务器启动或第一次接收到Servlet请求时,会调用Servlet的`init()`方法进行初始化,这个方法接收一个`ServletConfig`对象,其中包含了Servlet的配置信息。然后,每当有请求到达,Servlet容器会调用`service()`方法...
- **javax.servlet.RequestDispatcher**:负责请求转发和重定向,常用的方法有forward()和include()。 - **javax.servlet.ServletConfig**:在Servlet初始化时,由容器传递给Servlet,包含了Servlet的配置信息。 - *...
6. **处理请求**:Web容器创建一个`HttpServletRequest`对象和一个`HttpServletResponse`对象,并调用Servlet的`service()`方法,将这两个对象作为参数传递进去。 7. **执行业务逻辑**:在`service()`方法内部,根据...
总之,Servlet API是Java Web开发的重要基石,无论你是初学者还是经验丰富的开发者,这两个版本的文档都能为你提供宝贵的参考资料,帮助你在实际项目中高效地使用Servlet技术。记得时常查阅和实践,提升你的Web开发...
这样,当两个或多个线程同时访问同一个 Servlet 时,可能会发生多个线程同时访问同一资源的情况,数据可能会变得不一致。 Servlet 的线程安全问题主要是由于实例变量使用不当而引起的。例如,在一个 Servlet 中定义...
- 在传统的Java Web项目中,通常将`javax.servlet.jar`和`javax.servlet.jsp.jar`添加到项目的类路径中,这可以通过在`WEB-INF/lib`目录下放置这两个jar包实现。 - 使用Maven或Gradle等构建工具时,可以在pom.xml...
- **doGet() / doPost()**:这两个方法分别用来处理HTTP GET和POST请求。开发者需要在其中编写具体的业务逻辑代码。 - **destroy()**:当Servlet被卸载或服务器停止时,此方法将被调用。用于清理资源,如关闭数据库...
然后,容器调用Servlet的`service()`方法,将这两个对象作为参数传递。 `service()`方法是Servlet处理请求的核心,它根据请求类型(如GET、POST等)调用对应的`doGet()`或`doPost()`方法。如果自定义了`service()`...
这两个接口,`javax.servlet.http.HttpServletRequest`和`javax.servlet.http.HttpServletResponse`,分别代表了HTTP请求和响应。它们提供了处理HTTP特定属性的方法,如获取请求参数、设置响应头、写入响应体等。 ...
Servlet的实现通常基于两个基础类:GenericServlet和HttpServlet。GenericServlet实现了Servlet接口,但更适合非HTTP协议的请求。HttpServlet是GenericServlet的子类,专门处理HTTP请求,提供了更具体的方法,如...