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. 3分钟理解NMS非极大值抑制

    1. NMS被广泛用到目标检测技术中,正如字面意思,抑制那些分数低的目标,使最终框的位置更准: 2. 假如图片上实际有10张人脸,但目标检测过程中,检测到有30个框的位置,并且模型都认为它们是人脸,造 ...

  2. python用pandas遍历csv文件

    import pandas as pd df = pd.read_csv('a.csv') for index, row in df.iterrows(): x, y = row['X'], row[ ...

  3. DevOps研发模式下「产品质量度量」方案实践

    在当今互联网环境下,需求变更越来越快,交付周期却越来越短, 怎么判断一个系统是否测试充分? 产品质量满足什么样的条件才能投产? 如何判断测试工作.研发团队工作的效率是高还是低? 这些问题不能靠感觉.拍 ...

  4. jQurey zTree API 3.5

    https://jeesite.gitee.io/front/jquery-ztree/3.5/api/API_cn.html

  5. C++版的网络数据包解析策略(升级版)

    初版:http://www.cnblogs.com/wjshan0808/p/6580638.html 说明:在实现了对应的接口后该策略可以适合绝大多数的网络数据包结构 首先,是三个接口 IProdu ...

  6. Django项目中集成第三方登录时出现的错误

    原以为是被反爬 没想到 总结:这里的http应该是https协议,以后要更加小心 了,不能犯这种低级错误

  7. 使用原生js来控制、修改CSS伪元素的方法总汇, 例如:before和:after

    在网页中,如果需要使用辅助性/装饰性的内容的时候,我们不应该直接写在HTML中,这样会影响真正的内容,这就需要使用伪元素了,这是由于css的纯粹语义化是没有意义的.在使用伪元素的时候,会发现js并不真 ...

  8. js element类型的属性和方法整理

    Element类型 除了Document类型,我们Web编程中最常用的类型就是Element类型啦.Element 类型用于表现XML或HTML元素,提供了对元素标签名,子节点,特性的访问 特征 no ...

  9. html中为何经常使用<i>标签来作为小图标呢?

    很多网站都是习惯使用<i></i>来代表小图标?而实际上用 <i> 元素做图标在语义上是不正确的(虽然看起来像 icon 的缩写),那么用<i>表示小i ...

  10. NOI 2003 逃学的小孩 (树的直径)

    [NOI2003 逃学的小孩] 题目描述 Chris家的电话铃响起了,里面传出了Chris的老师焦急的声音:"喂,是Chris的家长吗?你们的孩子又没来上课,不想参加考试了吗?"一 ...