JavaWebServle执行流程解析

Servlet

Servlet

1、定义:

注:servlet版本2.5
Servlet是Java的一个类、既然是一个类、那必然要遵循一定的规范、如下所示。

  • a.必须继承 javax.servlet.http.HttpServlet
  • b.重写其中的doGet()或doPost()方法

doGet( )方法: 接受并处理所有get提交方式的请求
doPost( )方法:接受并处理所有post提交方式的请求

2、使用:


1、创建一个简单的Servlet类

package com.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class WelcomeServlet 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.....");
    }
}

2、在webapp下新建一个index.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <a href="WelcomeServlet">Welcome</a>
    <form action="WelcomeServlet" method="post">
        <input type="submit">
    </form>
</body>
</html>

可见、如果此时直接启动Tomcat、点击welcome按钮、会显示500页面、这是因为此时Tomcat无法找到这个类、这里就需要用到JavaWeb的配置文件,web.xml了。

3、解释servlet的映射方式

简而言之、即<url-pattern>拦截<servlet-name>匹配
请求<url-pattern>根据<servlet-mapping>中的<servlet-name>去匹配<servlet>中的<servlet-name>,然后寻找到<servlet-class>,求中将请求交由该<servlet-class>执行。

4、成功

原文地址:https://www.cnblogs.com/xiaofrank/p/14372554.html