编写好Servlet之后,接下来要告诉Web容器有关于这个Servlet的一些信息。在Servlet 3.0中,可以使用标注(Annotation)来告知容器哪些Servlet会提供服务以及额外信息。例如在HelloServlet.java中:
@WebServlet("/hello.view")
public class HelloServlet extends HttpServlet {
只要在Servlet上设置@WebServlet标注,容器就会自动读取当中的信息。上面的@WebServlet告诉容器,如果请求的URL是“/hello.view”,则由HelloServlet的实例提供服务。可以使用@WebServlet提供更多信息。
@WebServlet(
name="Hello",
urlPatterns={"/hello.view"},
loadOnStartup=1
)
public class HelloServlet extends HttpServlet {
上面的@WebServlet告知容器,HelloServlet这个Servlet的名称是Hello,这是由name属性指定的,而如果客户端请求的URL是/hello.view,则由具Hello名称的Servlet来处理,这是由urlPatterns属性来指定的。在Java EE相关应用程序中使用标注时,可以记得的是,没有设置的属性通常会有默认值。例如,若没有设置@WebServlet的name属性,默认值会是Servlet的类完整名称。
当应用程序启动后,事实上并没有创建所有的Servlet实例。容器会在首次请求需要某个Servlet服务时,才将对应的Servlet类实例化、进行初始化操作,然后再处理请求。这意味着第一次请求该Servlet的客户端,必须等待Servlet类实例化、进行初始动作所必须花费的时间,才真正得到请求的处理。
如果希望应用程序启动时,就先将Servlet类载入、实例化并做好初始化动作,则可以使用loadOnStartup设置。设置大于0的值(默认值为-1),表示启动应用程序后就要初始化Servlet(而不是实例化几个Servlet)。数字代表了Servlet的初始顺序,容器必须保证有较小数字的Servlet先初始化,在使用标注的情况下,如果有多个Servlet在设置loadOnStartup时使用了相同的数字,则容器实现厂商可以自行决定要如何载入哪个Servlet。
分享到:
相关推荐
`@WebServlet` 是Java Servlet API 3.0引入的一个注解,它简化了Servlet的配置,使得开发者无需在web.xml文件中手动配置Servlet。本篇文章将深入解析`@WebServlet` 注解的使用方法和它提供的各种特性。 首先,`@Web...
MyEclipse,Servlet使用@WebServlet() 报"import javax.servlet.annotation.WebServlet;"错误-附件资源
像上面的AnnotationServlet可以描述成@WebServlet(name="AnnotationServlet",value="/AnnotationServlet")。 也定义多个URL访问: 如@WebServlet(name="AnnotationServlet",urlPatterns={"/Annotation...
在Java Web开发中,`@WebServlet`是一个非常重要的注解,它来自Java Servlet API,主要用于简化传统的XML配置,使得Servlet的声明变得更加简洁和直观。本文将深入探讨`@WebServlet`注解的作用、属性详解以及如何在...
Servlet技术是Java Web开发的核心,它为Web应用程序提供了服务器端的编程接口。Jakarta Servlet API 4.0是Servlet规范的最新版本,它包含了对HTTP协议处理、生命周期管理、会话跟踪、安全性和性能优化等方面的全面...
- **注解配置**:Servlet 3.0引入了注解配置,使得开发者可以直接在Servlet类上使用`@WebServlet`注解来声明和配置Servlet,而无需在`web.xml`中进行繁琐的手动配置。 - **异步处理**:Servlet 3.0支持异步处理,...
3. 注解配置:如果使用Java EE 3.0 及更高版本,可以使用@WebServlet注解来配置Servlet。 在下面的示例代码中,我们使用@WebServlet注解来配置Servlet: ```java @WebServlet(name = "AjaxValidationServlet", ...
首先,我们来看`@WebServlet`注解。这个注解是Java Servlet API的一部分,可以直接在Servlet类上使用,替代了在web.xml中手动配置Servlet的过程。例如: ```java import javax.servlet.annotation.WebServlet; @...
Javaweb 开发中关于servlet的PPT
import javax.servlet.annotation.WebServlet; @WebServlet("/demo") public class DemoServlet extends HttpServlet { // ... } ``` 在上面的代码中,`@WebServlet`就是Servlet注解,用于指定Servlet的URL路径。...
servlet.jar 本文件用于JSp开发XML的文件,及应用,XML的文件开发比用文件
在“ServletAnnocation”这个示例中,我们可能会看到如何使用`@WebServlet`注解来声明一个Servlet。这个注解可以直接在Servlet类上使用,代替了在web.xml文件中定义Servlet的传统方式。`@WebServlet`注解可以指定...
而Servlet3.0引入了如`@WebServlet`、`@WebFilter`和`@WebListener`等注解,允许开发者直接在类上声明Servlet、Filter和Listener,大大简化了配置过程,提高了代码的可读性和可维护性。例如,你可以用以下代码定义一...
常见的Servlet注解有`@WebServlet`、`@WebFilter`和`@WebListener`。 - `@WebServlet`:这个注解用于定义一个Servlet,我们可以指定Servlet的URL映射、描述、加载顺序等属性。例如: ```java @WebServlet(name =...
在Servlet3.0中,我们可以使用注解(@WebServlet、@WebFilter、@WebListener)来替代web.xml中的XML配置,使得部署更简洁。例如,`@WebServlet("/example")`可以直接在Servlet类上声明URL映射。 2. **异步处理**:...
首先,让我们看看如何使用`@WebServlet`注解来替代传统的XML配置。在Servlet 3.0中,我们可以在Servlet类上直接添加`@WebServlet`注解,如下所示: ```java @WebServlet(name = "HelloServlet", urlPatterns = {"/...