JavaEE5提供一种新方法叫做资源注射或叫资源注入,不需要Servlet主动去读取资源,Tomcat启动的时候会把web.xml里的配置信息主动注射到Servlet里面。这个过程是自动完成的,不需要编写任何代码,不需要做任何工作。
资源注射是通过注解(Annotation)完成的。注解是java 5.0 里引入的新特性。注解是一种特殊的接口,以@符号为标志,用法如下:
private @Resource(name = "hello") String hello; //一行的写法 推荐使用此方法,代码更简洁
@Resource(name = "hello") //两行的写法
private String hello;
使用@Resource标注字符串变量hello,表明hello的值会在Servlet运行时动态注入。 然后在web.xml中配置一个名为hello的参数就可以了。
另还需要在web.xml中配置:
web.xml中使用标签<env-entry>来配置资源,<env-entry>仅能配置java.lang包下标准类型的变量,如String、Integer、Double等
<servlet>
<servlet-name>InjectionServlet</servlet-name>
<servlet-class>Injection.InjectionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InjectionServlet</servlet-name>
<url-pattern>/Injection/InjectionServlet/</url-pattern>
</servlet-mapping>
<!--下面是配置资源-->
<env-entry>
<env-entry-name>hello</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Hello,Welcome to the JavaEE Resource Injection.</env-entry-value>
</env-entry>