ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaWeb、Jsp和 Servlet

2019-09-07 19:07:46  阅读:146  来源: 互联网

标签:JavaWeb 对象 session Jsp JSP 页面 Servlet 请求


Java Web HTTP1.1
1.发出请求
2.获取响应
B/S模型:浏览器-服务器模型
C/S模型:客户端-服务器模型

B/S模型的优点:

  • 具有分布式特点,可以随时随地进行查询丶浏览等业务处理
  • 业务扩展简单方便,通过增加网页即可增加服务功能
  • 维护简单方便,只需要改变网页,即可实现所有用户的同步更新
  • 开发简单,共享性强

HTTP协议的特点:

  • Web应用程序的基础
  • 基于TCP/IP协议的应用层协议
  • HTTP协议的应用缺省(默认)端口是80
  • HTTP协议特点是:无状态丶无连接
    容器
    容器的类型:Tomcat(9.x) Nginx Jetty
    容器是用来管理和运行Servlet的

容器的功能:

  • 通信支持
  • 管理生命周期
  • 多线程支持
  • 声明方式实现安全
  • JSP支持
  • 管理数据源【DBCP,C3P0,Durid,BoneCP…】

数据源:方便数据库的链接,管理连接池(维护一定数量的数据库链接)

为什么使用数据源链接池?

  1. 因为web应用程序默认使用数据源
  2. 提高资源(web应用资源)的利用率

写web应用程序为什么要分层?
便于扩展和维护

类与类之间的关系有:继承,关联,依赖,聚合
如何分层?
MVC三层 M:模型层 主要任务:管理类和类之间的关系-----JavaBean---->(POJO 1,无参构造;2,getter/setter;3,不能实现也不能继承)
V:视图(元数据(没有格式的数据)+ 数据的显示方式)------JSP
C:控制层 主要任务:1,获取表单参数;2,调用业务逻辑;3,转向 -----Servlet

JSP声明:<%! %>
JSP指令:<%@ %>
JSP表达式:<%= %>
JSP(9大内置对象:不用关键字new就可以使用的对象)
Request
Response
** Session**
** Application**
Page(this)
Out
Exception
ServletConfig
PageContext**

1.request对象

  • 客户端的请求信息被封装在request对象中,通过这个对象才能了解到客户的需求,然后做出响应。
  • 是HttpServletRequest类的实例。
  • 具有请求域,即完成客户端的请求之前,该对象一直有效。

2.response对象

  • response对象包含了响应客户请求的有关信息
  • 是HttpServletResponse类的实例
  • 具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效。

3.session(会话控制)和session对象
什么是session?

  • session表示客户端与服务器的一次会话
  • Web中的session指的是用户从进入网站到浏览器关闭所经过的这段时间
  • session实际上是一个特定的时间概念
  • session保存在服务器内存中

session对象

  • 是一个JSP的内置对象
  • session对象在第一个JSP页面被装载时自动创建,完成会话期管理
  • 当一个客户访问服务器时,可能会在服务器的几个页面之间切换,服务器可以通过session对象知道这是同一个客户
  • session对象是HttpSession的实例

4.application对象

  • 实现了用户间数据的共享,可存放全局变量
  • 开始于服务器的启动,终止于服务器的关闭
  • 在用户的前后连接或不同用户的连接中,可以对application对象的同一属性进行操作
  • 在任何地方对application对象属性的操作,都将影响其他用户对此的访问
  • application对象时ServletContext类的实例

5.page对象
page对象就是指当前Jsp页面本身

6.pageContext对象

  • 提供了对JSP页面内所有的对象及名字空间的访问
  • pageContext对象可以访问到本页面所在的session,application的某一个属性值

7.exception对象
是一个异常对象,当一个页面在运行过程中发生异常就会产生这个对象

8.out对象
是JspWriter类的实例,是客户端输出内容常用的对象

JSP页面不应当承担所有的工作,而只是用来承担数据的显示工作,其他所有的和业务有关的工作交给servlet

Servlet

什么是Servlet?

  • Servlet是Java Servlet的简称,称为小服务程序,即用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
  • Servlet是指Java语言实现的一个接口
  • Servlet运行于支持Java的应用服务器中,从原理上讲,Servlet可以响应任何类型的请求,但是绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器

Servlet的生命周期(init(),service()[doGet/doPost],destory())

  • init:当该Servlet第一被请求时,Servlet容器回调该方法,后续请求不会再被调用,可以利用该方法进行相应的初始化功能
  • service:每当请求Servlet时,Servlet容器就会调用该方法
  • destory:当要销毁Servlet时,Servlet容器就会调用该方法

请求转发和重定向

  • 请求转发是一次请求一次响应,重定向是两次请求两次响应
  • 请求转发URL地址不会变,重定向URL地址发生变化
  • 请求转发不能带值,重定向能带值
  • 请求转发只能在本网站内部,重定向可以定向到任何网站

注:如果需要使用request进行值传递,需要通过请求转发完成
如果页面需要跳转到其他网站必须使用重定向

标签:JavaWeb,对象,session,Jsp,JSP,页面,Servlet,请求
来源: https://blog.csdn.net/h1346706115/article/details/100604464

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有