- 浏览: 25999 次
- 性别:
- 来自: 广州
文章分类
最新评论
@WebServlet
该注解用于在Web应用中定义Servlet组件。该注解在一个类上指定并包含声明Servlet的元数据。必须指
定注解的urlPatterns或value属性。所有其他属性是可选的默认设置(请参考javadoc获取更多细节)。当注
解上唯一属性是url模式时推荐使用value且当也有使用其他属性时使用urlPatterns属性。在同一注解上同
时使用value 和urlPatterns属性是非法的。如果没有指定Servlet名字则默认是全限定类名。被注解的sevlet
必须指定至少一个url模式进行部署。如果同一个Servlet类以不同的名字声明在部署描述符中,必须实例
化一个新的Servlet实例。如果使用不同名字添加的同一个Servlet类使用定义在4-35页的4.4.1节 “编程
式添加和配置Servlet” 的编程式API添加到ServletContext,使用@WebServlet注解声明的属性值必须被
忽略,必须创建一个指定名字的Servlet的新的实例。
@WebServlet注解的类必须继承javax.servlet.http.HttpServlet类。
一. loadOnStartup
注意必须指定注解的urlPatterns或value属性。
[java] view plain copy
package com.markliu.servlets;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoadOnStartUpServlet
*/
@WebServlet(
// urlPatterns = { "/startup", "/init" },
value = "/startup",
loadOnStartup = 1)
public class LoadOnStartUpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoadOnStartUpServlet() {
super();
System.out.println("LoadOnStartUpServlet...实例化");
}
public void init(ServletConfig config) throws ServletException {
System.out.println("LoadOnStartUpServlet...初始化");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("LoadOnStartUpServlet...doGet");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
System.out.println("LoadOnStartUpServlet...doPost");
}
}
启动服务器,当loadOnStartup=1时,代表服务一启动就去加载执行实例化这个servlet类。
该注解用于在Web应用中定义Servlet组件。该注解在一个类上指定并包含声明Servlet的元数据。必须指
定注解的urlPatterns或value属性。所有其他属性是可选的默认设置(请参考javadoc获取更多细节)。当注
解上唯一属性是url模式时推荐使用value且当也有使用其他属性时使用urlPatterns属性。在同一注解上同
时使用value 和urlPatterns属性是非法的。如果没有指定Servlet名字则默认是全限定类名。被注解的sevlet
必须指定至少一个url模式进行部署。如果同一个Servlet类以不同的名字声明在部署描述符中,必须实例
化一个新的Servlet实例。如果使用不同名字添加的同一个Servlet类使用定义在4-35页的4.4.1节 “编程
式添加和配置Servlet” 的编程式API添加到ServletContext,使用@WebServlet注解声明的属性值必须被
忽略,必须创建一个指定名字的Servlet的新的实例。
@WebServlet注解的类必须继承javax.servlet.http.HttpServlet类。
一. loadOnStartup
注意必须指定注解的urlPatterns或value属性。
[java] view plain copy
package com.markliu.servlets;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoadOnStartUpServlet
*/
@WebServlet(
// urlPatterns = { "/startup", "/init" },
value = "/startup",
loadOnStartup = 1)
public class LoadOnStartUpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoadOnStartUpServlet() {
super();
System.out.println("LoadOnStartUpServlet...实例化");
}
public void init(ServletConfig config) throws ServletException {
System.out.println("LoadOnStartUpServlet...初始化");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("LoadOnStartUpServlet...doGet");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
System.out.println("LoadOnStartUpServlet...doPost");
}
}
启动服务器,当loadOnStartup=1时,代表服务一启动就去加载执行实例化这个servlet类。
发表评论
-
Spring Junit 读取WEB-INF下的配置文件
2018-01-25 10:31 637测试环境:Spring3.0.5 + Junit4.8.1 ... -
转:有多少人在滥用 service+serviceImpl,又有多少人在误用myBatis
2018-01-25 10:40 5011被滥用的service+serviceImpl JA ... -
@Autowired和new的区别
2018-01-25 10:35 2822@Autowired相当于setter,在注入之前,对象已经实 ... -
Spring、使用注解方式装配对象(@Resource、@Autowired)
2018-01-25 10:33 658首先,引入注解所使用的Jar包 :common-anno ... -
阿里巴巴java开发手册 1.2
2017-07-07 20:28 651前言 《阿里巴巴 Java 开 ... -
转: Java之CountDownLatch使用
2017-07-04 16:23 3951、类介绍 一个同步辅助类,在完成一组正在其他线程中执行 ... -
SimpleDateFormat线程安全重现与解决
2017-07-04 14:59 701一. 为什么SimpleDateFormat不是线程安全的 ... -
Thread.join()方法详解
2017-07-04 11:15 856API: join public final ... -
hashMap优化
2017-06-30 15:51 4851 集合初始化时,指定集合初始值大小。 说明:Ha ... -
jdk7 Collections.sort()引发的IllegalArgumentException
2017-06-30 15:26 1607一 IllegalArgumentException的重 ... -
java内部类:如何使用
2017-06-29 16:57 525一 定义:放在一个类的内部的类我们就叫内部类。 二、 ... -
ArrayList循环遍历并删除元素的常见陷阱
2017-06-29 11:22 359在工作和学习中,经常碰到删除ArrayList里面的某个元 ... -
eclipse快速创建标准maven管理的javaEE、web项目
2017-06-28 11:10 4141 先安装 eclipse maven 插件的安 ... -
翻译: 深入理解Java Integer的缓存策略
2017-06-26 17:49 426本文将介绍 Java 中 Intege ... -
性能优化之ArrayList
2017-06-22 14:25 417ArrayListTest 写道 package cn.c ... -
LinkedList和ArrayList的使用及性能分析
2017-06-22 10:54 416转自http://www.jb51.net/arti ... -
ArrayList源码分析
2017-06-22 10:36 483ArrayList就是传说中的动态数组,就是Array的 ...
相关推荐
@WebFilter 注解还提供了多种属性,可以根据需要进行配置。例如: * description:指定过滤器的描述信息 * displayName:指定过滤器的显示名称 * initParams:指定初始化参数 * filterName:指定过滤器的名称 * ...
它们根据web.xml或注解配置加载Servlet,并通过DispatcherServlet进行请求分发。DispatcherServlet是Spring MVC的核心组件,它实现了Servlet API并负责调度请求到合适的处理器。源码中,可以研究DispatcherServlet...
使用 @WebServlet 注解可以简化 Servlet 的配置,减少 web.xml 文件中的配置项。Servlet 是 Web 应用程序开发不可或缺的组成部分,广泛应用于各种 Web 应用程序中。 知识点: 1. Servlet 简介:Servlet 是一种 ...
@WebServlet("/login") public class LoginServlet extends HttpServlet { // ... } ``` ##### 使用示例 1. **设计登录页面**: - 创建一个HTML表单,用于收集用户的用户名和密码。 - 表单提交至一个Servlet...
例如,可以直接在Servlet类上使用@WebServlet注解,指定URL映射。此外,Servlet 3.0还支持异步处理,增强了对WebSocket协议的支持,以及改进了部署和热部署机制,提高了开发效率。 最后,Log4j是Java日志框架之一,...
Struts2 和 Spring 的整合是企业级 Java Web 开发中常见的技术栈,通过注解配置可以使项目更加简洁、易于维护。Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可...
### Web on Servlet Stack #### Spring Web MVC **Introduction** Spring Web MVC是Spring框架的一个核心模块,主要用于构建基于Servlet容器的Web应用程序。它提供了一个灵活、强大的机制来处理HTTP请求,并将其...
- 注解配置:可以直接在Servlet类上使用@WebServlet注解进行配置,简化XML配置。 - Asynchronous Processing:支持异步处理,提高性能。 - WebSocket:提供WebSocket API,支持双向通信。 总结,Servlet作为Java ...
例如,可以使用`@WebServlet`注解来声明Servlet: ```java @WebServlet("/myServlet") public class MyServlet extends HttpServlet { // ... } ``` 除了基本的Servlet,我们还可以利用Filter和Listener来增强...
1. **Servlet生命周期**:解释Servlet的加载、初始化、服务、销毁等阶段,以及如何通过`@WebServlet`注解或web.xml配置文件来管理Servlet。 2. **Servlet API**:介绍`HttpServletRequest`和`HttpServletResponse`...
例如,使用`@WebServlet`注解: ```java @WebServlet("/myservlet") public class MyServlet extends HttpServlet { // ... } ``` 7. **测试**:在开发过程中,进行充分的单元测试和集成测试,确保Servlet功能...
6. 数据库连接和事务管理,通过@Configuration、@Bean、@Transactional等注解配置DataSource和SessionFactory。 7. CRUD操作的实现,使用Session、Query、Criteria API或JPQL完成数据库查询。 8. 整合Spring MVC、...
六、注解配置Servlet 随着Java EE的发展,现在可以使用注解直接在Servlet类上进行配置,简化了web.xml的编写。例如: ```java @WebServlet("/myservice") public class MyServlet extends HttpServlet { // ... } `...
在源代码中,你可以看到如何通过注解(如`@WebServlet`)替代XML配置,使配置更简洁。 3. **请求和响应处理**:`HttpServletRequest`和`HttpServletResponse`接口分别代表HTTP请求和响应对象。通过它们,Servlet...
- **注解配置**:使用`@WebServlet`注解可以直接在Servlet类上声明其配置信息。 5. **Servlet请求和响应** - **HttpServletRequest**:封装了客户端的请求信息,如请求头、请求参数、请求路径等。 - **...
5. 配置Servlet3.0:使用注解配置Servlet,如`@WebServlet`,并实现初始化方法,创建SqlSessionFactory实例。 6. 使用MyBatis:在Servlet中,通过SqlSession获取Mapper接口的代理对象,然后调用其方法执行SQL。 四...
例如,`@WebServlet`、`@WebFilter`和`@WebListener`可以直接在类上声明,简化了部署过程。 2. 异步处理:Servlet 3.0引入了异步处理能力,允许Servlet在处理请求时启动一个新的线程,释放Servlet容器的线程资源,...
SpringBoot提供`@WebServlet`注解,可以直接在类上使用,简化Servlet的声明。 Filter(过滤器)是处理请求和响应的中间件,它允许我们在请求到达目标Servlet之前或响应返回给客户端之前进行拦截和处理。在...
- 分析web.xml或使用注解(如`@WebServlet`)来研究Servlet的配置。 - 使用内存分析工具(如JVisualVM、MAT等)监控服务器的内存使用情况,查看Servlet实例何时创建、何时销毁,以及在内存中的存活时间。 - 模拟多个...
6. `javax.servlet.annotation`包:包含了各种注解,比如`@WebServlet`、`@WebFilter`和`@WebListener`,使得开发者可以通过注解方式声明Servlet、过滤器和监听器,简化了web.xml配置文件的编写。 7. `javax....