阶段复习之Servlet开发(一)——Servlet基础和XML配置、注解配置

什么是Servlet

通过百度可以知道:Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

Servlet版本和java EE版的关系

  • 2005 年 9 月发布 Servlet 2.5 对应 Java EE 5
  • 2009年12月发布Servlet3.0 对应 Java EE 6(Servlet3.0加入注解)
  • 2013年6月发布Servlet3.1 对应 Java EE 7

servlet版本,tomcat版本,java版本对应关系##

可以访问tomcat官方给的资料http://tomcat.apache.org/whichversion.html
这里写图片描述
###综合上面的版本关系,就可以选择正确的版本来开发Servlet,不会出现因版本问题产生的错误了(建议Servlet3.0以上) ###

Servlet干什么的

  • Servlet的工作原理就是反射+回调
  • 浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理
  • Servlet可以通过request获取请求信息,response响应给浏览器信息。

Servlet的使用

  • Servlet其本质是java对象,是javax.servlet包下的一个接口,使用Servlet可以直接新建一个java类实现HttpServlet接口。
  • 这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。
  • 有两种配置方法:xml配置和注解配置(Servlet3.0及以上)

xml配置

  • 新建Servlet
public class FirstServlet extends HttpServlet {

       //Servlet第一次被访问的时候初始化,init()方法被执行,并且只会初始化一次
    @Override
    public void init() throws ServletException {
        super.init();
        System.out.println("初始化方法调用了");
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("这是第四个Servlet");
        //request里面封装了关于请求的所有东西
        System.out.println(request.getContextPath());
        System.out.println(request.getRequestURI());
        System.out.println(request.getMethod());
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
    @Override
    public void destroy() {
        super.destroy();
        System.out.println("销毁方法调用了");
    }
}
  • web.xml配置servlet
	<servlet>
        <servlet-name>FirstServlet</servlet-name>
        <servlet-class>com.maniy.web.servlet.FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FirstServlet</servlet-name>
        <url-pattern>/firstServlet</url-pattern>
    </servlet-mapping>

注解配置##

  • 直接在新建的Servlet中加入注解, web.xml不需要添加代码
//loadOnStartup的数字表示启动顺序,越小越先初始化
@WebServlet(name = "FourServlet",urlPatterns={"/four.html"},loadOnStartup =2)
public class FourServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("这是第四个Servlet");
        System.out.println(request.getContextPath());
        System.out.println(request.getRequestURI());
        System.out.println(request.getMethod());
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

猜你喜欢

转载自blog.csdn.net/IManiy/article/details/82432899