1.JavaWeb基本概念

1.前言

  • 静态web
    html,css
    提供给所有人看的数据始终不会发生变化
  • 动态web
    几乎所有的网站都是动态web
    每个人在不同的时间,不同的地点看到的网站都不一样
    技术栈:Servlet/JSP,ASP,PHP

1> JSP(Java Server Pages)是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行。

2> Servlet (Server Applet)是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
jsp就是在html里面写java代码,servlet就是在java里面写html代码。

JSP和Servlet的区别
1>JSP经过编译之后就成了Servlet。
(JSP的本质就是Servlet,JVM只能识别Java类,不能识别JSP代码,Web容器将JSP的代码编译成JVM能够识别的Java类)
2>JSP更擅长于页面展示,Servlet更擅长于逻辑控制。
3>Servlet中没有内置对象,Jsp中的内置对象都必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。
4>JSP是Servlet的一种简化,使用JSP只需要完成程序员需要输出到客户端的内容,JSP中的Java脚本如何嵌套到一个类中,由JSP容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生产对客户端的响应。
JSP和Servlet的不同
1>Servlet的应用逻辑是在Java中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展命为.jsp的文件。
2>JSP侧重于视图,Servlet更多的是类似于一个Controller,主要用于控制逻辑。
JSP和Servlet的联系
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译之后是”类Servlet“。

  • 在Java中,动态web资源开发技术统称为JavaWeb

2.web应用程序

web应用程序:可以提供浏览器访问的程序

  • a.html,b.html…多个web资源,这些web资源可以被外界访问,对外界提供服务。
  • 我们能访问到的所有页面或者资源,都存在于这个世界上的某一个角落。
  • URL:HTTP 协议使用 URI 定位互联网上的资源。正是因为 URI 的特定功能,在互联网上任意位置的资源都能访问到。URL 带有请求对象的标识符。

比如 http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
1.HTTP:http://告诉浏览器使用何种协议。对于大部分 Web 资源,通常使用 HTTP 协议或其安全版本。另外,浏览器也知道如何处理其他协议。例如, mailto: 协议指示浏览器打开邮件客户端;ftp:协议指示浏览器处理文件传输。
2.主机:www.example.com 既是一个域名,也代表管理该域名的机构。它指示了需要向网络上的哪一台主机发起请求。当然,也可以直接向主机的 IP地址发起请求。但直接使用 IP 地址的场景并不常见。
3.端口:两个主机之间要发起 TCP 连接需要两个条件,主机 + 端口。它表示用于访问 Web 服务器上资源的入口。如果访问的该 Web 服务器使用HTTP协议的标准端口(HTTP为80,HTTPS为443)授予对其资源的访问权限,则通常省略此部分。否则端口就是 URI 必须的部分。
上面是请求 URL 所必须包含的部分,下面就是 URL 具体请求资源路径
4.路径:/path/to/myfile.html 是 Web 服务器上资源的路径。以端口后面的第一个 / 开始,到 ? 号之前结束,中间的 每一个/ 都代表了层级(上下级)关系。这个 URL 的请求资源是一个 html 页面。
5.查询参数:?key1=value1&key2=value2 是提供给 Web 服务器的额外参数。如果是 GET 请求,一般带有请求 URL 参数,如果是 POST 请求,则不会在路径后面直接加参数。这些参数是用 & 符号分隔的键/值对列表。key1 = value1 是第一对,key2 = value2 是第二对参数。
6.锚点:#SomewhereInTheDocument 是资源本身的某一部分的一个锚点。锚点代表资源内的一种“书签”,它给予浏览器显示位于该“加书签”点的内容的指示。 例如,在HTML文档上,浏览器将滚动到定义锚点的那个点上;在视频或音频文档上,浏览器将转到锚点代表的那个时间。值得注意的是 # 号后面的部分,也称为片段标识符,永远不会与请求一起发送到服务器。

  • 一个web应用程序由多个部分组成:
    -html,css,js
    -jsp,servlet
    -Java程序
    -jar包
    -配置文件(properties)
  • web应用程序编写完毕后,若想要提供给外界访问,需要一个服务器来统一管理。

3.静态web

在这里插入图片描述
静态web页面的缺点:

  • web页面无法动态更新,所有的用户看到都是一个页面。
  • 无法和数据库交互,数据无法持久化。

4.动态web

页面会动态展示,web页面的展示效果因人而异。
在这里插入图片描述

动态web的缺点
假如服务器的动态web资源出现了错误,我们需要停机维护,重新编写我们的后台程序,重新发布。

动态web的优点
-web页面可以动态更新,每个用户看到的页面都不一样。
-可以和数据库交互,数据能持久化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值