1. servlet的创建
    1. servlet类就是一个包含javax.servlet.http包中的HttpServlet类
    2. 部署web.xml文件
      1. 在<sevlet>标签中创建
        1. <servlet-name>创建servlet的名字
        2. <servlet-class>标记用哪一个类来创建servlet
      2. 在<servlet-mapping>中创建请求该servlet的URL
        1. <servlet-name>已经创建的servlet的名字
        2. <url-pattern>/设置URL路径
  2. servlet工作原理
    1. servlet是javax.servlet包中HttpServlet类的子类的一个实例、由服务器负责创建并完成初始化工作。当多个用户请求一个servlet时,服务器为每个用户启动一个线程而不是启动一个进程,这些线程由服务器来管理,与传统的CGI为每个用户启动一个进程相比较,效率要高的多。
    2. 初始化servlet ,在servlet子类中重写init();只在第一次使用servlet时调用
    3. service(); 响应用户对servlet的请求,不同用户请求会在多线程中调用,互不影响
    4. destroy(); 当服务器终止服务时,比如关闭服务器等,destroy()方法会被执行,消灭servlet。
  3. jsp页面访问servlet:
    1. 如果web.xml文件中<servlet-mapping>标记的子标记<url-pattern>指定的请求servlet的格式是“/lookHello”,那么JSP页面请求servlet时,必须要写成 “lookHello”,不可以写成“/lookHello”,否则将变成请求root服务目录下的某个servlet。
  4. 共享变量:对于Servlet类所创建的servlet的,用户将共享该servlet的成员变量
  5. doGet和doPost:可以在Servlet类中重写doPost或doGet方法来响应用户的请求,这样可以增加响应的灵活性,并降低服务器的负担。
    1. doGet和doPost可以让servlet更加灵活,也就是原本的service函数的更细化
    2. 如果service和doGet和doPost同时存在,那么直接调用的是service
  6. 重定向与转发
    1. 重定向:response.sendRedirect("2.jsp");
    2. 转发:
      1. 得到RequestDispatcher对象:RequestDispatcher dispatcher=request.getRequestDispatcher("4.jsp");
      1. 转发:dispatcher.forward(request,response);
    1. 重定向和转发的区别可以看为是
      1. 重定向只是对处理结果后返回的页面,返回的页面没有get或post请求,就像登录成功后跳转到首页
      2. 转发是指把请求转移到另一个页面,也就是说改个URL而已,真正的被隐藏了
  7. session
    1. HttpSession session=request.getSession(true);    //获取用户的session对象
    2.  
 
 

jsp课堂笔记5 Java servlet的更多相关文章

  1. 【Head First Servlets and JSP】笔记3:Servlet的生命周期

    1.servlet的存在就是要为客户服务.servlet的任务就是得到一个用户的请求,再发回一些响应. 请求可能很复杂,也可能很简单,例如,“为我的购物车结账”,这个请求携带了一些重要的数据,你必须知 ...

  2. jsp课堂笔记2

    jsp页面的基本结构 jsp标记 普通html标记 变量和方法的声明 java程序片 java表达式 变量和方法的声明 <%!    %>   标记符号之间声明变量和方法 成员变量即全局变 ...

  3. jsp课堂笔记4 javabean

    Javabean是一个可重复使用的软件组件,实际上是一种java类 实现代码重复利用 易编写易维护易使用 jsp页面的主要任务是显示页面,不负责数据的逻辑业务处理 将数据处理过程中指派一个或多个bea ...

  4. jsp课堂笔记3

    Http协议是一种无状态协议,一个用户向服务器发出请求(request),然后服务器返回响应(response),在服务端不保留链接相关信息.session对象可以使服务器记住当前用户   reque ...

  5. 艾编程coding老师课堂笔记:java设计模式与并发编程笔记

    设计模式概念 1.1 什么是设计模式 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性. ...

  6. 课堂笔记【java JDBC】

    目录 JDBC简介 工作原理: 工作过程: JDBC驱动与连接 JDBC驱动 连接JDBC驱动 1.下载特定数据库的JDBCjar包 2.加载并注册数据库驱动 3.连接驱动 JDBC常见API JDB ...

  7. jsp课堂笔记1

    http协议:规范浏览器和服务器交互或通信的规则 https:基于http实现,比http更加安全,提供了身份验证和通信内容加密  服务器:1.配置比较高的电脑  2.他就是一个应用 http1.0: ...

  8. Servlet视频学习笔记 57-58 (servlet入门和调用过程)

    网易云课堂<30天轻松掌握JavaWeb视频>servlet部分 课时57 servlet开发入门 servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术.S ...

  9. JSP学习笔记(二):动作元素

    与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用.JSP动作元素是用XML语法写成的. 利用JSP动作可以动态地插入文件.重用JavaBean组件.把用户重定向到另外的页面.为Java插件 ...

随机推荐

  1. Python3-socketserver模块-网络服务器框架

    Python3中的socketserver模块简化了编写网络服务器的任务 在实际的开发中,特别是多并发的情况下,socket模块显然对我们的用处不大,因为如果你要通过socket模块来实现并发的soc ...

  2. 千金良方说:"我现在奉上179341字的MySQL资料包,还来得及吗?有"代码段、附录、和高清图!!"

    上一篇"上发布过"一不小心,我就上传了 279674 字的 MySQL 学习资料到 github 上了",我在更早之前,在微信公众号"老叶茶馆"上发布 ...

  3. c语言二维数组的转置

    #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxsize 3 #defi ...

  4. 深度学习“四大名著”发布!Python、TensorFlow、机器学习、深度学习四件套!

    Python 程序员深度学习的"四大名著": 这四本书着实很不错!我们都知道现在机器学习.深度学习的资料太多了,面对海量资源,往往陷入到"无从下手"的困惑出境. ...

  5. Python3笔记013 - 3.4 循环语句

    第3章 流程控制语句 3.4 循环语句 1.while 循环 # 带else的while循环,循环结束后执行,根据需要取舍else while 条件表达式: 循环体 else: 语句 a = 0 wh ...

  6. HTML条件注释_关于IE条件注释

    普通的HTML注释形式是 <!-- 注释 --> 而IE5~IE9这5个版本的IE浏览器还另外支持一种特殊的if条件注释(感觉有点类似模板渲染时的语法结构) <!--[if IE]& ...

  7. requirejs之demo

    具体的理论就不讲了,可以参考 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html http://www.ruanyifeng.c ...

  8. JavaScript图形实例:Hilbert曲线

    德国数学家David Hilbert在1891年构造了一种曲线,首先把一个正方形等分成四个小正方形,依次从西北角的正方形中心出发往南到西南正方形中心,再往东到东南角的正方形中心,再往北到东北角正方形中 ...

  9. unity vscode 断点问题

    困扰了很久的vscode老莫名其妙的断到网络通信那里. 后来发现是因为起来了一个线程并且调用的unity API 导致. unity 线程中是禁止调用unity API 的. 删掉用 DateTime ...

  10. Django---进阶8

    目录 前后端传输数据的编码格式(contentType) ajax发送json格式数据 ajax发送文件 django自带的序列化组件(drf做铺垫) ajax结合sweetalert 批量插入 分页 ...