* Servlet3.0:
* 好处:
* 支持注解配置。可以不需要web.xml了。
* 步骤:
1. 创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
2. 定义一个类,实现Servlet接口
3. 复写方法
4. 在类上使用@WebServlet注解,进行配置
urlpartten:Servlet虚拟访问路径
1. 然而通过观察@WebServlet注解发现,它的urlPatterns定义的是一个String类型的数组,也就是说可以给一个Servlet定义多个虚拟路径
@WebServlet({"/demo4","/d4"})
public class ServletDemo4 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGET.....");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doPOST.....");
}
}
运行后,这里面的demo4和d4都能够访问这个Servelt
2. 路径的定义规则:
1. /xxx
2. /xxx/xxx:多层路径,目录结构
3. *.后缀名
//@WebServlet({"/demo4","/d4"})
//@WebServlet("/user/*")
//@WebServlet("/user/d4")
//@WebServlet("/*")
//@WebServlet("*.do")
@WebServelt注解的内部代码如下所示:
@WebServlet("资源路径")
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WebServlet {
String name() default "";//相当于<Servlet-name>
String[] value() default {};//代表urlPatterns()属性配置
String[] urlPatterns() default {};//相当于<url-pattern>
int loadOnStartup() default -1;//相当于<load-on-startup>
WebInitParam[] initParams() default {};
boolean asyncSupported() default false;
String smallIcon() default "";
String largeIcon() default "";
String description() default "";
String displayName() default "";
}