欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-24 15:35:28
...

什么是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开发(一)——Servlet基础和XML配置、注解配置
###综合上面的版本关系,就可以选择正确的版本来开发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);
    }
}
相关标签: javaweb Servlet