Servlet 详解

一、Servlet 简介

1. Servlet 是什么
  • Servlet是和平台无关的,运行在服务器端的Java程序,是浏览器端和服务器端其他应用程序(如服务器)之间的中间层
  • 运行在Servlet容器(如Tomcat服务器)中,和客户的通信采用“请求/响应”的模式
2. Servlet 能干什么
  • 读取浏览器发来的数据

    • 显式数据(如html表单填写的内容)
    • 隐式数据(如http请求头)
  • 与服务器上其他的应用(如数据库)进行通信

  • 产生一些数据,再响应给浏览器端

    • 显式数据(如html,xml,jpg等)
    • 隐式数据(如设置cookie)

在这里插入图片描述

3. Servlet 容器
  • Servlet容器是运行Servlet,JSP,Filter,Listener,Tag等的软件环境,也叫JavaWeb应用容器,或者Servlet/JSP容器。
  • Servlet,JSP等的生命周期方法都由容器来调用,换言之,Servlet容器负责管理它们的生命周期
  • 目前最流行的Servlet容器软件包括:
    • Tomcat:一个免费的开源Servlet容器,它是Apache软件基金会的一个顶级项目,由Apache、Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与与支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
    • Resin
    • J2EE服务器(如Weblogic)中也提供了内置的Servlet容器
4. Servlet 规范定义的web应用程序的目录层次

在这里插入图片描述

  • jsp,html,图片文件等和根目录并列
  • 错误的目录结构可能会导致容器工作异常

二、web.xml

  • web.xml 是一个WEB应用程序的配置文件,作用包括

    • 定义该模块包含的Servlets,JSP以及静态资源
    • 没有使用标注的servlet需要在web.xml中配置
    • 安全性限制​ ​
      • 为每个URL指定安全性角色可以执行的方法:GET,POST等
    • 登录配置
      • 如何进行身份认证
    • 该模块使用的安全性角色
  • 代码示例

    <!-- 配置 -->
    <servlet>
        <!-- 1. 全局注册一个servlet -->
        <!-- Servlet的注册名 -->
        <servlet-name>HelloServlet</servlet-name> 
        <!-- Servlet的全类名,用来指明物理文件位置,格式是:包名.类名 -->
        <servlet-class>com.atguigu.javaweb.HelloServlet</servlet-class>
        
        <!-- 2. servlet的初始化参数(可选),只有当前servlet可以获取到-->
        <!-- 必须出现在<load-on-startup>前面 -->
        <init-param>
            <!-- 参数名 -->
            <param-name> user </param-name>
            <!-- 参数值 -->
            
  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值