WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的Web资源分为:
• 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。

• 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

l 静态web资源开发技术

• Html
l 常用动态web资源开发技术:

• JSP/Servlet、ASP、PHP等 ruby python

• 在Java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。

但是我们做java开发,不是做网页。

网络上的资源分为两种

早期:静态页面 html实现。 观看

现在:动态页面 java jaxa jsp 交互.

jsp—>java去做网页所使用的技术。jsp本质上就是servlet
使用jsp开发成本高。

BS====>浏览器+服务器 只要有浏览器就可以

CS----->客户端+服务器. 必须的在客户端安装程序.

现在基本上开发的都是BS程序

BS怎样通信:

必须有请求有响应。

有一次请求就应该具有一次响应,它们是成对出现的。

必会术语
分布式应用(distributed application )
–由不同的运行于分离的运行环境下的组件构成的应用程序 ,通常是在不同的平台上通过网络互联起来 –建立在网络之上的软件系统

典型的分布式应用
–双端式(客户机-服务器 Client/Server)
–三端式(客户机-中间件-服务器 Client/Middleware/Server) –多端式(客户机-多组件-多服务器 Client/Multiple Middleware/Multiple server)

集中式应用与分布式应用
集中式应用 :多个Teminals对一个Mainframe
分布式应用:指的是应用程序分布在不同计算机上,通过网络来共同完成一项任务的工作方式。可以处理并发。

C/S模式 – 即 客户机/服务器 结构 – 早期的软件系统多以此作为首选设计标准。服务器通常采 用高性能的PC、工作站或小型机,并采用大型数据库系统 – 客户端安装专门的软件


常见的C/S模式:
–数据库服务器 –网络游戏客户端/服务器端
–QQ客户端/QQ服务器端

两层结构
–通常所说的C/S结构

三层结构

B/S模式
– 主要应用于广域网
– 软件业务逻辑大部分在服务器端实现,不必开发客户端, 应用广泛,易于管理维护 – 用户界面完全通过浏览器实现,一部分事务逻辑在前端实 现,但是主要事务逻辑在服务器端实

Http协议

http请求
请求行:POST /index.jsp HTTP/1.1
GET /get.html?name=xiaoming&passWord=123456 HTTP/1.1 (请求方式 资源路径 协议/版本)
请求头:
Host: beacon.tingyun.com User-Agent: Mozilla/5.0
(Macintosh; Intel Mac OS X 10.11; rv:60.0) Gecko/20100101
Firefox/60.0 Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language:
zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br Referer: https://blog.csdn.net
Cookie: Hm_lvt_93 Connection: keep-alive Content-Length: 0
请求体:
name=liming&passWord=123456 (GET请求没有请求体)

http响应
响应行:
HTTP/1.1 200 OK (协议/版本 状态码 状态码描述)
200 请求成功
302 请求重定向
400请求错误语法错误
403权限不够
404 资源不存在
500 服务器内部错误
响应头:
200 OK
Access-Control-Allow-Origin: *
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Mon, 18 Jul 2016 16:06:00 GMT
Etag: “c561c68d0ba92bbeb8b0f612a9199f722e3a621a”
Keep-Alive: timeout=5, max=997
Last-Modified: Mon, 18 Jul 2016 02:36:04 GMT
Server: Apache
Set-Cookie: mykey=myvalue; expires=Mon, 17-Jul-2017 16:06:00 GMT; Max-Age=31449600; Path=/; secure
Transfer-Encoding: chunked
Vary: Cookie, Accept-Encoding
X-Backend-Server: developer2.webapp.scl3.mozilla.com
X-Cache-Info: not cacheable; meta data too large
X-kuma-revision: 1085259
x-frame-options: DENY
响应体:
服务器向浏览器返回的html正文

Servlet

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

HttpServletRequest

客户端浏览器发出的请求被封装成为一个HttpServletRequest对象。对象包含了客户端请求信息包括请求的地址,请求的参数,提交的数据,上传的文件客户端的ip甚至客户端操作系统都包含在其内。HttpServletResponse继承了ServletResponse接口,并提供了与Http协议有关的方法,这些方法的主要功能是设置HTTP状态码和管理Cookie。

HttpServletResponse
在Servlet的API中,定义了个HttpServletResponse接口,它继承自ServletResponse接口,专门用于封装HTTP的响应,由于HTTP响应包含着响应行、响应头和响应体三部分,因此在HttpServletResponse中分别定义了发送响应行、响应头和响应体的相关方法。

Servlet生命周期
首先加载servlet的class,实例化servlet,然后初始化servlet调用init()的方法,接着调用服务的service的方法处理doGet和doPost方法,最后是容器关闭时候调用destroy 销毁方法。

Servlet什么时候被创建?
默认情况下,第一次被访问时,Servlet被创建,然后执行init方法;
提供服务:执行service方法,执行多次
被销毁:当Servlet服务器正常关闭时,执行destroy方法,只执行一次

Java Web基本编程相关推荐

  1. 《Java Web高级编程——涵盖WebSockets、Spring Framework、JPA H

    2019独角兽企业重金招聘Python工程师标准>>> <Java Web高级编程--涵盖WebSockets.Spring Framework.JPA Hibernate和S ...

  2. java web基础编程题_Java Web基础笔试题

    2015-10-31 06:30:02 阅读( 432 ) 一. 填空题(每空2分,共30分) 1.在tomcat上发布javaweb应用时的默认目录是__webapps___目录. 2.javawe ...

  3. java web高级编程 百度网盘_[有书共享]JavaWeb高级编程

    JavaWeb高级编程 -- 篇6 在JSP中使用表达式语言 表达式语言(EL)源于JSP标准库(JSTL)的一部分,用于在不使用脚本.声明或者表达式的情况下,在JSP页面中渲染数据. EL的基本语法 ...

  4. 学银在线python课程_清华计算机系第一课:1615集 Python+Java+web等编程视频课程流出...

    转发分享,也是一种美德哦! Java 和 Python 双方都有各自适合和发展的领域,所以别人常问我学习什么语言好,或者让我在两种语言进行比较好坏. 其实编程语言只有适不适合你个人去学,并不存在好坏, ...

  5. java web核心编程_JavaWeb核心编程之(三)Servlet配置

    Servlet配置 1.配置Serlvet加载时机 2.配置多映射 配置加载时机 新建项目config->创建包com.xiaoan.config->创建类FirstServlet imp ...

  6. java web基础编程题_云课堂javaweb微专业Java基础测试题3

    题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作x,如果x和n的奇偶性相 ...

  7. 学习(Java Web)编程技术要点及方向; 完成项目的要决

    本文亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理. 要Jar, 不要War:以小为主,以简为宝,集堆而成. 去繁取简 Spring Boot,明日之春. 集堆综合技术如 jHipster ...

  8. Java Web知识梳理

    今天给内部做了个培训,貌似搞错了对象,不该对新人讲这么原理性的东西. anyway,还是放上来吧,不知道有没有人能理清其中的逻辑 ^ _ ^ 问题:为什么要用tomcat tomcat: servle ...

  9. 人工智能中的Web端编程

    Java是当前的主流编程语言之一,常年稳居TIOBE编程语言排行榜前五.Java的使用领域非常广泛,包括了桌面端编程.Web端编程.移动端编程等几乎所有的编程领域.Java是Web端编程使用最广泛的编 ...

最新文章

  1. A01_[NumPy中文网]数组基础(创建数组,多维数组切片,数组属性)、使用数组(基本操作符,数组特殊运算符)、索引(花式索引,布尔索引,缺省索引)
  2. python 16进制补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制
  3. ofbiz修改mysql_如何将OFBIZG的默认数据库更改mysql的方法(只求参考 )
  4. raid5需要几块硬盘_Raid5磁盘阵列数据恢复思路分析--附真实案例
  5. python语言实现rsa公钥密码算法_python 实现 rsa 算法加解密密码
  6. LinkedList实现类
  7. Excel 条件格式使用方法
  8. Halcon之 Variation Model(转)
  9. 平面直角坐标系中的旋转公式_难点解析丨空间直线、平面平行的判定及其性质...
  10. Web压力测试常用的工具有哪些
  11. 操作系统与操作系统内核
  12. vue+three.js导入obj模型不显示问题
  13. 两个PDF合并成一个PDF怎么做?三分钟教会你两种方法
  14. 达尔豪斯大学 计算机专业排名,加拿大留学计算机专业排名
  15. Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
  16. AWS Lambda函数实战
  17. 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)
  18. 拓嘉辰丰电商:拼多多新品适合场景推广还是搜索推广
  19. 即使Windows DVD Maker不存在,如何在Windows 8上创建DVD-DVDStyler
  20. 75道程序员面试逻辑题和答案

热门文章

  1. 怎么根据文字内容生成图片?我来教你怎么做
  2. 第三方支付、个人免签约支付、微信支付、支付宝支付、个人网站支付
  3. 记录--实时音视频功能简析(live-pusher与live-player)
  4. 块状链表(STL rope)
  5. SystemUI车载Hvac开发
  6. 电脑连接真机,但是androidstudio不显示手机,ADB Interface黄色感叹号
  7. 中国人工智能学会通讯——基于图像认知的心理测评方法及系统
  8. 广播电视新技术应用分析及发展趋势
  9. Java 开发者得力助手,深入实践 Spring Boot
  10. 私有化即时通信软件有哪些?企业要怎么选择?