`

Servlet3.0-使用注解定义Servlet

    博客分类:
  • HTML
阅读更多

(转自:http://www.cnblogs.com/luxh/archive/2012/06/06/2537458.html

我使用的开发环境:MyEclipse10+Tomcat7+JDK6。

  开发Servlet3的程序需要一定的环境支持。Servlet3是Java EE6规范的一部分,MyEclipse10和Tomcat7都提供了对Java EE6规范的支持。

  Tomcat需要Tomcat7才支持Java EE6,Tomcat7需要使用JDK6。

  如果使用的MyEclipse的版本较低,没有提供Java EE6的支持,可以到Oracle官方网站下载JavaEE6的SDK进行安装,或者从Tomcat7的解压目录下的lib文件夹中把所有jar文件引用到我们的项目路径下。(例如:先建一个Java EE5的web项目,然后把Tomcat7的解压目录下的lib文件夹中的所有jar引入到项目中,再删除Java EE5的库引用,最后从Tomcat7的解压目录下的conf文件夹下把web.xml模板拷贝到项目,替换掉原来的web.xml)。

  Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述,简化开发流程。

  1、新建一个Web Project,直接选择Java EE6.0。

  2、看一下项目包视图。

  3、Java EE6的库文件

  4、web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	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_3_0.xsd">
  
</web-app>

  注意version="3.0"http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd

  5、新建一个Servlet。写上Servlet的Name,然后Next。

  6、不需要在web.xml文件中生成Servlet的相关信息。Finish。

  7、这样建好一个Servlet后,在web.xml文件中没有任何关于这个Servlet的描述信息。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	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_3_0.xsd">
  
</web-app>

  8、使用注解描述Servlet。 

package com.cndatacom.servlet;

import java.io.IOException;
import java.io.PrintWriter;

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
 * @author Luxh
 */

/**
 * 注解WebServlet用来描述一个Servlet
 * 属性name描述Servlet的名字,可选
 * 属性urlPatterns定义访问的URL,或者使用属性value定义访问的URL.(定义访问的URL是必选属性)
 */
@WebServlet(name="AnnotationServlet",urlPatterns="/AnnotationServlet")
public class AnnotationServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML>");
		out.println("<HTML>");
		out.println(" 	 <HEAD>");
		out.println("	  <TITLE>A Servlet</TITLE>");
		out.println("	  <meta http-equiv=\"content-type\" " + "content=\"text/html; charset=utf-8\">");
		out.println("   </HEAD>");
		out.println("  	 <BODY>");
		out.println("         	Hello AnnotationServlet.");
		out.println("     </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

}

  9、把项目发布到Tomcat7,启动Tomcat7。在浏览器访问:http://localhost:8080/Servlet3/AnnotationServlet

  完成了一个使用注解描述的Servlet程序开发。


  使用@WebServlet将一个继承于javax.servlet.http.HttpServlet的类定义为Servlet组件。

  @WebServlet有很多的属性:

  asyncSupported:声明Servlet是否支持异步操作模式。

  description:    Servlet的描述。

  displayName:     Servlet的显示名称。

  initParams:        Servlet的init参数。

  name:        Servlet的名称。

  urlPatterns:    Servlet的访问URL。

  value:          Servlet的访问URL。

  Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。

  像上面的AnnotationServlet可以描述成@WebServlet(name="AnnotationServlet",value="/AnnotationServlet")。

  也定义多个URL访问:

  如@WebServlet(name="AnnotationServlet",urlPatterns={"/AnnotationServlet","/AnnotationServlet2"})

  或者@WebServlet(name="AnnotationServlet",value={"/AnnotationServlet","/AnnotationServlet2"})

 

分享到:
评论

相关推荐

    servlet-api-3.0-alpha-1.jar

    可以使用@ErrorPage注解定义特定错误代码对应的错误页面,使错误处理更加优雅和直观。 10. **MIME类型映射** 开发者可以使用@MultipartConfig注解来处理多部分请求,例如文件上传,无需额外的库。 总之,Servlet...

    Servlet 3.0 - Apache Tomcat 7.0.61

    3. 部署监听器:无需在web.xml中声明,开发者可以通过注解定义部署监听器,如`@WebListener`,在应用部署或卸载时自动执行代码。 4. 嵌入式Servlet容器:Servlet 3.0允许在程序内部创建和启动Servlet容器,这对于...

    servlet 3.0 jar 包综合下载

    下载的`servlet3.0jar综合`压缩包包含了实现这些特性的关键库,对于进行Java EE 3.0开发的程序员来说是必不可少的工具。在实际开发中,结合相关的框架(如Spring MVC)和其他Java EE组件,可以构建出功能强大、易...

    servlet-api-3.0.zip

    这个"Servlet-API-3.0.zip"压缩包包含的是Servlet 3.0规范的API jar文件,该文件是开发和运行基于Java的Web应用程序所必需的库。以下是对Servlet API 3.0的详细讲解: 1. **Servlet 3.0引入的新特性**: - **注解...

    Servlet 3.0jar包和source包

    在这个主题中,我们将深入探讨Servlet 3.0的主要特性和功能,以及提供的两个jar包——`javax.servlet-3.0-sources.jar`和`javax.servlet.jar`的作用。 首先,Servlet 3.0作为Servlet API的一个版本,引入了许多新...

    servlet3.0 jar \ doc \pdf 相关文档资料

    过滤器可以使用`@WebFilter`注解来定义,同时支持通过注解配置过滤器的URL模式、DispatcherType和优先级。 5. **微容器(Microcontainer)**: Servlet 3.0引入了微容器概念,使得应用程序可以在不依赖全局web....

    javax.servlet-3.0

    2. javax.servlet-3.0.txt:这可能是一个文档或说明文件,详细介绍了Servlet 3.0 API的使用方法、新特性以及可能的示例代码。对于开发者来说,这是一个宝贵的参考资料,可以帮助他们理解和应用Servlet 3.0的特性。 ...

    servlet3.0相关的包

    Servlet3.0引入了注解驱动的部署,允许开发者通过在类或方法上添加注解来定义Servlet、过滤器和监听器,从而避免了繁琐的web.xml配置。此外,还支持异步处理,使得Servlet可以在处理请求时释放线程,提高服务器性能...

    maven servlet 3.0 eclipse config video

    1. **Servlet 3.0特性**: Servlet 3.0引入了注解配置,可以直接在Servlet类上使用`@WebServlet`注解声明URL映射,不再需要web.xml配置文件。 2. **异步处理**: Servlet 3.0允许开发者编写异步Servlet,通过`...

    servlet3.0 jar包和doc

    5. **生命周期管理**:Servlet3.0允许在Servlet中定义自己的初始化和销毁方法,通过`@PostConstruct`和`@PreDestroy`注解标记,这些方法会在Servlet实例化后和销毁前自动调用。 6. **嵌入式容器**:Servlet3.0支持...

    servlet3.0.zip

    这个压缩包“servlet3.0.zip”包含两个核心的JAR文件:“javax.servlet-javadoc.jar”和“javax.servlet.jar”,它们分别提供了Servlet API的文档和实现。 1. **Servlet API**: - `javax.servlet`包是Servlet API...

    servlet3.0 规范pdf 包含javadoc

    2. **注解驱动的配置**:相比于之前的版本,Servlet 3.0允许使用注解来配置Servlet、Filter和Listener,无需在web.xml中进行繁琐的XML配置。例如,`@WebServlet`、`@WebFilter`和`@WebListener`注解分别用于声明...

    Servlet3.0 Demo

    Servlet3.0引入了注解配置,允许开发者无需在web.xml文件中进行繁琐的配置,可以直接在Servlet类上使用`@WebServlet`注解来声明和映射Servlet。例如: ```java @WebServlet("/hello") public class ...

    Servlet3.0新特性解析

    而Servlet3.0则引入了注解驱动的监听器注册,开发者可以直接在类上使用`@WebListener`注解来声明监听器,无需再依赖web.xml。这使得监听器的定义更加简洁,也更易于管理和维护。 例如,我们可以创建一个监听...

    servlet3.0推送聊天室

    在实际开发中,我们可以使用Servlet 3.0的异步特性来处理WebSocket连接的生命周期,例如在接收到新消息时,通过异步上下文将消息分发给所有在线的WebSocket连接。同时,我们还需要一个后台服务来处理聊天室的消息...

    servlet3.0与mybatis整合的示例

    - Servlet类:使用了Servlet3.0的注解进行配置,并在其中实现了与MyBatis的整合逻辑。 五、注意事项 1. 确保数据库驱动在类路径下可找到。 2. 配置文件的正确性,如数据源配置、Mapper扫描路径等。 3. SQL语句的...

    jfinal-3.0-manual

    - **实体类定义**:定义与数据库表相对应的实体类,通过简单的注解即可完成实体与表的映射。 **5.4 JFinal独创Db+Record模式** - **数据访问模式**:提供了一种简单高效的数据访问模式,结合Db和Record两个工具类...

    servlet3.0

    Servlet 3.0是Java Servlet规范的一个重要版本,它在原有的Servlet 2.x基础上引入了多项新特性,极大地提升了Web应用程序的开发效率和灵活性。...对于使用servlet-api.jar的开发者来说,理解并掌握这些特性至关重要。

    Servlet3.0 新特性

    可以通过注解`@WebInitParam`在类级别定义Servlet的初始化参数,无需在web.xml中配置。 10. **安全增强**: Servlet3.0引入了新的安全API,如`HttpServletRequest#isUserInRole()`和`HttpServletRequest#...

    Servlet3.0使用注解标注过滤器(Filter)

    ### Servlet 3.0 使用注解标注过滤器 #### 一、Servlet 3.0概述与新特性 Servlet 3.0 是 Java EE 6 的一部分,它引入了许多新的特性和改进,使得开发者能够更方便地开发 Web 应用程序。其中一个重要特性就是支持...

Global site tag (gtag.js) - Google Analytics