1. 如何实现Servlet,代码如下
package com.xxxx.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * 实现Servlet * 1. 创建普通的Java类 * 2. 实现Servlet的规范,继承HttpServlet类 * 3. 实现service方法,用来处理请求 * 4. 设置注解,指定访问的路径 */ @WebServlet("/ser01") // 路径中的"/"不要忘记写! public class Servlet01 extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 打印在控制台 System.out.println("Hello Servlet"); // 输出数据到浏览器 resp.getWriter().write("hello servlet"); } }2. Servlet的注解可以有很多种写法 其中最常见的就是直接写一个路径,@WebServlet("/ser01"),其中的/ser01为本servlet的访问路径。WebServlet内容其实很多,具体我们可以按住command键打开看,如下:
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package javax.servlet.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface WebServlet { String name() default ""; String[] value() default {}; String[] urlPatterns() default {}; int loadOnStartup() default -1; WebInitParam[] initParams() default {}; boolean asyncSupported() default false; String smallIcon() default ""; String largeIcon() default ""; String description() default ""; String displayName() default ""; } // 我们直接写@WebServlet("/ser01")只是指定了String[] value() default {}一个参数