JavaWeb学习笔记:Servlet(跟狂神学)

Servlet简介

  • Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容
  • 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类。
    如果想开发Servlet程序,只需要完成两个步骤:
    • 编写一个类,实现servlet接口
    • 把开发好的Java类部署导web服务器中

HelloServlet

1.构建一个Maven项目,父项目中的jar包子项目可以直接用;
父项目:

  <modules>
    <module>test01</module>
  </modules>

子项目:

    <parent>
        <artifactId>ServletStudy</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

2.编写一个普通类
3.实现servlet接口:Servlet有两个默认实现类:HttpServlet和GenericServlet;在这里插入图片描述
我们直接继承HttpServlet,重写其中的方法


public class servlet extends HttpServlet {
   
//由于get和post只是请求方式不一样,业务逻辑一样,可以相互调用
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        super.doPost(req, resp);
    }
}

4.编写Servlet的映射
为什么要映射:我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中注册我们写的Servlet,还需要给他一个浏览器可以访问的路径

<web-app>
  <display-name>Archetype Created Web Application</display-name>
<!--  注册servlet  -->
  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.study.servlet</servlet-class>
  </servlet>
<!--  servlet的请求路径  -->
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>
  1. 配置Tomcat:配置项目发布的路径
  2. 启动测试

原理

Servlet是由Web服务器调用,web服务器在经过浏览器调用之后,
在这里插入图片描述

Mapping问题

1.一个servlet可以指定一个/多个映射路径;
2.一个servlet可以指定通用映射路径;
3.指定一些后缀或者前缀,可以自定义后缀实现请求,但是*前面不能加项目映射路径;
4.默认请求路径
在这里插入图片描述
5.指定了固有路径的优先级最高,找不到就会走默认路径

ServletContext

this.getInitParameter();获得初始化参数
this.getServletConfig();获得配置
this.getServletContext();获取上下文信息

web容器在启动的时候,它会为每个web程序创建一个对应的servletcontext对象,它代表了当前的web应用
作用:

  • 共享数据:ServletContext全局唯一
    在这里插入图片描述
  • 获取初始化参数
<!--  配置一些web初始化参数-->
  <context-param>
    <param-name>url</param-name>
    <param-value>jdbc:mysql://localhos
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值