ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

2022.1.21-1.24 Javaweb Servlet入门精讲

2022-01-24 09:05:19  阅读:256  来源: 互联网

标签:21 servlet 精讲 javax Override import Servlet public 1.24


Servlet
在这里插入图片描述

Servlet快速入门
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码如下:

1.pom.xml

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

2.创建ServletDemo.java

package com.ittest.web;


import javax.jws.WebService;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

/**
 * @Description: TODO
 * @author: scott
 * @date: 2022年01月21日 14:33
 */

@WebServlet("/demo1")
public class ServletDemo1 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("hello1");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

注意实现接口快捷键:ctrl+i

3.在浏览器url输入:http://localhost:8080/tomcat-demo1/demo1
控制台显示结果如图,访问成功。
在这里插入图片描述

Servlet执行流程
在这里插入图片描述
Servlet生命周期
在这里插入图片描述

Servlet方法介绍

如果遇到在一个方法里面需要使用另一个方法的局部变量,可以采用将局部变量升级为成员变量使用。
如下所示:

@WebServlet("/demo1")
public class ServletDemo3 implements Servlet {
    private ServletConfig config;

    @Override
    public void init(ServletConfig config) throws ServletException {
        this.config= config;
        System.out.println("hello1");
    }

    @Override
    public ServletConfig getServletConfig() {
        return config;
    }
    
}

Servlet体系结构
在这里插入图片描述

报错:A child container failed during start
在这里插入图片描述
解决方案:把其他项目删除,是tomcat缓存造成, 重新运行tomcat即可。

在这里插入图片描述
ServletDemo4.java

package com.ittest.web;
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;

/**
 * @Description: TODO
 * @author: scott
 * @date: 2022年01月21日 15:51
 */
@WebServlet("/demo4")
public class ServletDemo4 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get...");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post...");
    }
}

a.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Title</title>
</head>
<body>
<form action="/tomcat-demo1/demo4" method="post">
    <input name="username"><input type="submit">
</form>
</body>
</html>

运行提交后,控制台显示:
在这里插入图片描述
总结:
在这里插入图片描述
urlPttern配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当一个目录既满足精确匹配又满足目录匹配,精确匹配的优先级更高。
任意配置"/",会覆盖掉tomcat中的DefaultServlet,当其他的url-pattern匹配不上时都会走这个Servlet。

XML配置Servlet
步骤:
1.编写Servlet类
2.在web.xml中配置该Servlet

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servler-name>demo13</servler-name>
    <servler-class>com.ittest.web.ServletDemo13</servler-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>demo13</servlet-name>
    <url-pattern>demo13</url-pattern>
  </servlet-mapping>
</web-app>

标签:21,servlet,精讲,javax,Override,import,Servlet,public,1.24
来源: https://blog.csdn.net/qq_43416650/article/details/122620685

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有