Servlet基础知识点

Servlet入门笔记

Servlet简介
  • B/S开发模式执行流程
    B/S模式流程
  • 请求与响应
    从浏览器发出送给服务器的数据包称为“请求(Request)"
    从服务器返回给浏览器的结果称为“响应(Response)"
  • J2EE简介
    J2EE (Java 2 Platform Enterprise Edition)是指“Java 2企业版”
    B/S模式开发Web应用就是J2EE最核心的功能
    J2EE由13个功能模块组成
    Servlet: web服务器小程序
    JSP: 服务器页面
    JDBC: 数据库交互模块
    XML: XML交互模块
    EJB: 企业级Java Bean
    RMI: 远程调用
    JNDI: 目录服务
    JMS: 消息服务
    JTA: 事务管理
    JavaMail: 发送/接收Email
    JAF: 安全框架
    CORBA: CORBA集成
    JTS: CORBA事务监控
  • Servlet简介
    Servlet (Server Applet)服务器小程序,主要功能用于生成动态Web内容
    Servlet是J2EE最重要的组成部分,也是学习的重点
  • Apache Tomcat简介
    Tomcat是Apache 软件基金会旗下一款免费的开放源代码的Web应用服务器程序
    Tomcat是运行Servlet(服务器小程序)的容器
Tomcat的配置方法
  • Tomcat的目录结构简介
    bin: 保存了启动文件的文件夹
    conf: 保存了配置文件,核心的文件是servlet.xml
    lib: 保存了Tomcat的第三方依赖包
    logs: 保存了日志数据, Tomcat运行中出现问题会记录在这里
    temp: 保存了临时文件,Tomcat运行中出现的临时数据文件会保存在这里
    webapps: 保存了开发的应用程序的目录,web应用程序保存在这里
    work: 保存了JSP翻译后的Java源代码,和编译后的字节码文件,现已过时不再用
  • 使用Tomcat的前置条件
  1. 安装JDK 1.8以上的版本
  2. 配置JAVA_HOME的环境变量
  • 启动Tomcat程序
    在bin目录下点击startup.bat文件启动
Tomcat和IDEA的整合
  • 通过IDEA创建一个web项目工程
  1. Projects -> New Project -> Maven -> 创建一个项目工程
  2. 在main文件夹下创建一个webapp文件夹用来保存web应用的相关资源
  3. 点击File -> Project Structure -> Modules -> 点击 “+” 号 -> Web -> 修改Web Module Deployment Descriptor的Path,将默认的web文件夹改为src/main/webapp,选择合适的文件描述符版本
  4. 修改Web Resource Directory到webapp文件夹下
  5. 点击Create Artifact,OK完成
  6. 如果webapp前出现蓝点则代表配置成功
  • 绑定Tomcat服务器小程序
  1. 点击右上方的Add Configurations -> Edit configuration templates -> Tomcat Server -> Local
  2. 修改Application server为当前的Tomcat路径
  3. 取消默认勾选After launch 启动Tomcat时自动打开浏览器
  4. 点击Deployment -> 选择 “+” 号 -> Artifact
  5. 修改Application context(应用上下文即访问web应用资源的网址前缀已过时不再使用)为’/’ ,点击OK完成
  6. 再次点击Add Configurations -> 选择 “+” 号 -> Tomcat Server -> Local -> OK完成
Servlet开发流程
  • Servlet开发的各个文件的流程
  1. 在main文件夹下创建servlet文件
  2. 在pom.xml中添加servlet依赖
  3. 在servlet文件中继承HttpServlet父类,并重写service方法
  4. 在web.xml中配置servlet和它的映射
  5. 启动Tomcat,运行程序完成
// 在main文件夹下创建servlet文件, 并在servlet文件中继承HttpServlet父类,并重写service方法
public class FirstServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // getParameter用于获取用户输入的指定参数
        String name = req.getParameter("name");
        String html = "<h1 style='color: red'>hi," + name + "!</h1><hr/>";
        System.out.println("返回给浏览器的响应内容为:" + html);
        // getWriter用于获取返回的响应流
        PrintWriter out = resp.getWriter();
        out.println(html);

    }
}
<!--  在pom.xml中添加servlet依赖 -->
<!-- 配置servlet依赖-->
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.0</version>
        </dependency>
    </dependencies>
    
<!-- 在web.xml中配置servlet和它的映射 -->
<servlet>
        <!-- servlet-name为servlet的昵称,用于和servlet-mapping绑定 -->
        <servlet-name>first</servlet-name>
        <!-- servlet-class用于指定配置的servlet文件 -->
        <servlet-class>FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>first</servlet-name>
        <!-- url-pattern代表了映射的url,'/'代表了从根路径上映射 -->
        <url-pattern>/hi</url-pattern>
    </servlet-mapping>
  • Servlet执行的流程
    servlet的执行流程图解
标准Java Web工程结构
  • /: Java Web应用根目录
    /index.html: 默认首页
    /WEB-INF: WEB应用的安全目录,用于存放配置文件
    /WEB-INF/web.xml: web.xml是“部署描述符文件”,是该Web项目核心配置文件
    /WEB-INF/classes: 存放编译后的classes文件
    /WEB-INF/lib: 用于存放web应用依赖的jar文件
    /META-INF/MANIFEST.MF: 包含Web应用的版本等信息
请求参数
  • 请求参数是指浏览器通过请求向Tomcat提交的数据
    请求参数通常是用户输入的数据,待Servlet进行处理
    参数名1=值1&参数名2=值2&参数名n=…
  • Servlet接收请求参数
    request.getParameter() - 接收单个参数
    request.getParameterValues() - 接收多个同名参数
Get与Post请求方法
  • Get方式将请求参数附加在访问地址后显性向服务器发送的方式。
    http://localhost:8080/sample?name=zhangsan
    Post方式会将数据存放在”请求体”中隐性向服务器发送的方式。
    http://localhost:8080/sample
    请求体:name=zhangsan
  • Get常用于不包含敏感信息的查询功能
    例如:https://www.baidu.com/s?wd=imooc&rsv_spt=1
    Post用于安全性要求较高的功能或者服务器的”写“操作
    用户登录
    用户注册
    更新公司账目
  • Get与Post请求的处理方式
    所有请求- service()方法
    Get请求- doGet()方法
    Post请求- doPost()方法
public class RequestMethodServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        PrintWriter out = response.getWriter();
        out.println("<h1>GET:name:" + name + "</h1>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        PrintWriter out = response.getWriter();
        out.println("<h1>Post:name:" + name + "</h1>");
    }
}
Servlet生命周期
  • Servlet采用单例多线程,全程只有一个对象,但会对每个用户的请求都创建一个线程
    装载 – web.xml
    创建 – 构造方法 //在第一次访问Servlet时使用
    初始化 – init() //在第一次访问Servlet时使用
    提供服务 – service() //在每次访问Servlet时使用
    销毁 – destory() //在Tomcat服务器停止前使用
使用注解配置Servlet
  • Servlet 3.x之后引入了“注解Annotation”特性
    注解用于简化Web应用程序的配置过程
    Servlet核心注解: @WebServlet
// 在类上面添加@WebServlet("/anno")就可以
// 使用注解之后就不再需要配置web.xml文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值