小滴课堂-学习笔记:javaweb开发核心之玩转Servlet4.0

33 篇文章 0 订阅
14 篇文章 0 订阅

logo 愿景:"让编程不再难学,让技术与生活更加有趣"


更多架构课程请访问 xdclass.net

目录

第1集 什么是Servlet-开发你的第一个动态网站

第2集 Servlet里面的doPost-doGet和路径匹配讲解

第3集 【原理面试题】Servlet生命周期你知道多少

第4集 新版Servlet3.0~5.0和旧版配置的区别你知道吗

干货文档


第1集 什么是Servlet-开发你的第一个动态网站

简介:什么是Servlet,开发第一个动态网站

  • 什么是Servlet

    • 简介:是JavaServlet的简称,用Java编写的运行在Web服务器或应用服务器上的程序,具有独立于平台和协议的特性, 主要功能在于交互式地浏览和生成动态Web内容

    • 作用:接收用户通过浏览器传来的表单数据,或者读取数据库信息返回给浏览器查看,创建动态网页

    • 接口路径:package javax.servlet

      • 有两个常见的子类:HttpServlet、GenericServlet

1)创建Class,继承HttpServlet

2) 重写doGet方法,返回HTML内容




 public class UserServlet extends HttpServlet {
​
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
​
        //实战响应内容
        resp.setContentType("text/html;charset=utf-8");
​
        PrintWriter printWriter = resp.getWriter();
​
        printWriter.write("<div> 小滴课堂 xdclass.net 你好,让技术不再难学 </div>");
​
    }
}
3) 配置web.xml





      <servlet>
        <servlet-name>userServlet</servlet-name>
        <servlet-class>net.xdclass.web.UserServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>userServlet</servlet-name>
        <url-pattern>/userServlet</url-pattern>
    </servlet-mapping>
4)启动tomcat,进行访问





 

 

第2集 Servlet里面的doPost-doGet和路径匹配讲解

简介:讲解重写doGet和doPost方法作用

  • doGet方法:

    • http用get方式提交的请求,普通的查询就会进入到此方法
  • doPost方法:

    • ​http用post方式提交的请求就会进入到此方法

    • ​ postman工具:

      • 作用: 专门用来模拟Http多种方式提交的工具,开发测试必备利器
      • 提供安装包直接安装使用
      • 选择post方式提交
  • 还有其他的doHead、doDelete等,一样的都是根据http提交Method来区分

  • Servlet访问URL使用路径映射(注意:一定要加 / 开头)

    • url-pattern:以”/’开头,可以用 /xxx/yy 来区分模块,* 是通配符,最好用模块区分,防止通配符都映射成但不同优先级导致问题

 

 

 

第3集 【原理面试题】Servlet生命周期你知道多少

简介: 讲解Servlet的生命周期

 

  • Servlet 接口里面有5个方法,其中三个生命周期方法和两个普通方法

    • 实例化->使用构造方法创建对象
    • 初始化->执行init方法:Servlet 的生命期中,仅执行一次 init() 方法,它是在服务器装入 Servlet 时执行的,即第一次访问这个Servlet才执行

 

  • 服务->执行service方法,service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用

     

  • 销毁-> 执行destroy方法,destroy() 方法仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法





public interface Servlet {
​
   void init(ServletConfig var1) throws ServletException;
​
   ServletConfig getServletConfig();
​
   void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
​
   String getServletInfo();
​
    void destroy();
​
}


  • 查看继承和实现关系 XXXServlet->HttpServlet->GenericServlet->implements Servlet

 

  • HttpServlet里面实现了service方法,里面会根据不同的http method调用不同的方法,所以我们自定义servlet只要重写对应的doXXX方法即可

 

 

 

 

 

第4集 新版Servlet3.0~5.0和旧版配置的区别你知道吗

 

简介:讲解新版Servlet和旧版Servlet配置的区别

 

  • 旧版Servlet,在xml里面配置类目和路径,比较不方便

 

  • 新版Servelt,也就是3.0之后,支持注解的方式



@WebServlet(name = "userServlet",urlPatterns = {"/user1","/user2","/test"})
public class UserServlet extends HttpServlet {
     @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
​
        System.out.println("doGet");
        //实战响应内容
        resp.setContentType("text/html;charset=utf-8");
​
        PrintWriter printWriter = resp.getWriter();
​
        printWriter.write("<div> doGet 小滴课堂 xdclass.net 你好,让技术不再难学 </div>");
​
    }
}
  • 配置项



//servlet名称,若不指定,则为Servlet的完整类名
String name() default "";
​
//路径映射,配置多个,需要/开头
 String[] value() default {};
​
//路径映射,支持配置多个,需要/开头
  String[] urlPatterns() default {};
​
 //标记容器是否在启动应用时就加载Servlet,默认或数值为负数时表示第一次请求Servlet时再加载;0或正数表示启动应用就加载
  int loadOnStartup() default -1;
​
 //配置初始参数
  WebInitParam[] initParams() default {};
​
//是否支持异步操作模式
 boolean asyncSupported() default false;




干货文档

                                                        关注公众号发送:“CSDN干货文档”  即可领取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dev666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值