动态网页技术学习笔记

Java Web 开发概述

Web是World Wide Web的简称,广义上可理解为万维网,狭义上可理解为网页浏览器浏览的网页

JavaWeb:指使用 Java 技术解决 Web 领域问题的技术总和。可以通俗的理解为使用 Java 去开发
Web 程序所需要掌握的相关技术
一个网站的注册用户的流程完成步骤:
1.首先在网页中输入用户名和密码
2.点击登陆按钮,将用户名和密码发送给服务器
3.服务器在验证通过之后返回给网页
4.网页提示成功

网页显示的样式,例如输入框,按钮以及提示信息都是由前端工程师完成的
在这个过程中服务器如何接收网页传递过来的用户名和密码,接收后如何返回给网页成功或者失败的
结果,这一系列逻辑都是后端工程师来完成的

Java Web 的应用范围:
1.开发网站( 淘宝、京东)
2.ERP系统、财务系统、运营管理系统
3.游戏后台开发
4.手机 app 的后台开发

Java SE基础课程
1.面向对象基础
2.类与对象
3.多态
4.接口
5.集合
6.异常
7.IO、File
8.多线程

Java Web 开发环境

介绍IDE

IDE( Integrated Develop Environment) 集成开发环境是用于提供程序开发环境的应用程序,一般包括
代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调
试功能等一体化的开发软件服务套。

常用开发IDE介绍

1)IntelliJ IDEA:IDEA的全称,业界被公认为最好的Java 开发工具之一,由JetBrains公司开发,旗舰版本
不仅支持Java,还支持HTML、CSS、PHP,MySQL,Python等收费软件
2)Eclipse:一个开放源代码的、基于Java 的可扩展开发平台,最初是由 IBM 公司开发、2001年 11 月贡
献给开源社区。免费软件
3)NetBeans:Sun公司( 2009年被甲骨文收购 ),Java官方IDE,免费软件

IntelliJ IDEA 对比 Eclipse 的优点:
1)自动检索代码,并给出警告,eclipse需要手动启动代码分析
2)强大的自动提示,IDEA会根据你输入的字母上下文匹配,eclipse 的自动提示相对简单只会按照字母
完全一致的方式给出提示
3)更智能的调试
4)跨语言操作上更胜一筹

IntelliJ IDEA 对比 Eclipse 的缺点:
1)相较于 Eclipse 更占用硬件
2)旗舰版本收费,社区版本免费但是对于JavaEE支持不全面(可暂时使用破解版本)

IDEA创建多module的Project
在 IntelliJ IDEA 中Project 是最顶级的结构单元,然后就是 Module,一个 Project 可以有多个 Module。
目前,主流的大型项目结构基本都是多 Module 的结构,这类项目一般是按功能划分的,比如:user-
core-module 和 user-controller-module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命
名可以看出,她们都是处于同一个项目中的模块,彼此之间是有着不可分割的业务关系的。在一般情
况下,IntelliJ IDEA 是默认单 Project 和单 Moduled 的

Web服务器:是指能够为发出请求的浏览器提供文档的程序。服务器是一种被动程序,只有浏览器发
出请求的时候才会响应。
URL:统一资源定位符 https://item.jd.com/10123735163.html

协议:包括Http、https等
域名或者IP地址:item.jd.com(域名)116.211.94.1( JDK 的 IP 地址 )
端口号:80( 常用端口 ),程序必须使用端口号才能让另一台计算机访问
资源位置:用于描述 Web 资源在服务器的位置,10123735169.html

主流Web服务器:
1)WebLogic:Bea 公司开发的一个收费的大型服务器软件,后被 Oracle 收购,支持 Java EE 所有规范
2)Tomcat:由 Apache、Sun 和其他一些公司及个人共同开发而成。该服务器支持全部 JSP 以及 Servlet
规范。因为Tomcat技术先进、性能稳定,而且开源免费,因深受Java爱好者的喜爱并得到了部分软件开
发商的认可,成为目前比较流行的 Web 服务器,学习 Java Web 开发一般都使用 Tomcat 服务器
3)JBoss:一个开源的支持 Java EE 规范的应用服务器但是其核心服务不包含 Servlet 和 JSP,所以一般情
况下,它会与 Tomcat 等服务器绑定使用

官方下载地址:http://tomcat.apache.org/download-80.cgi
选择 Core 下的 windows.zip

Tomcat 启动并测试:
1.打开 bin 下面的 startup.bat
2.打开浏览器输入 http://localhost:8080/
3.检查是否显示一只猫
4.点击 shutdown.bat 关闭

Tomcat的目录结构:
1)bin 脚本目录( 启动和停止:startup.bat、shutdown.bat)
2)conf 配置目录(server.xml、web.xml)
3)lib 依赖的 jar 包
4)logs 日志文件存储位置( 程序运行时操作系统)
5)temp 临时文件
6)webapps 用于存放 web 项目目录
7)work tomcat 处理 jsp 页面工作目录

Web项目目录结构:
第一节目录:静态资源(包括HTML、CSS、JS)
Web-INF( 此文件下面的文件不能通过浏览器直接访问)
Web-INF下第二级目录:Web.xlm 项目配置文件
lib web 项目的第三方 jar
class class文件存放位置

Http 协议

HTTP

超文本协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种
网络协议。用于定义客户端浏览器和服务器之间交换数据的过程。

作用:可以使浏览器和服务器之间更高效的传输数据
特点: 基于请求-响应模型,先有请求后有响应

HTTP请求协议:请求行、请求头、请求体
HTTP响应协议包括:响应行、响应头、响应体

HTTP请求:
客户端连上服务器,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求
请求包含了一个请求行、若干请求头、以及请求具体内容,请求头和请求体内容之间要用空行隔开。

Http请求行:
包含HTTP的请求方式、请求资源名称、HTTP版本
请求行格式:请求方式 资源路径 协议/版本
POST /post.html HTTP/1.1

HTTP请求方式
请求行中的 POST 称之为请求方式,常见的请求方式有 POST、GET、DELETE( 删除数据)、PUT(更新数据)
GET请求:向服务器的特定资源发出查询请求,一般用于查询数据和资源的请求中。
get 请求查询的参数可以在浏览器的地址栏中显示
请求的数据会附加在 URL 之后,以 ? 分割 URL 和传输数据,多个
参赛用 & 连接
没有请求体 ( 放入 URL 中 例: GET/get.html?name=xiaohong&passWord=123456 HTTP/1.1)

POST请求
向服务器提交数据,一般用在客户端将本地数据或者资源提交给服务器,例如注册用户,将用户信息提交给服务器。
POST:请求会把请求的数据放置在 HTTP 请求体中
例:POST/post.html HTTP/1.1 数据
name=xiaohong&passWord=123456放在请求中

使用场景:
GET 请求通常用于查询操作
POST 通常用于提交数据操作

区别:
在HTTP规范中,没有对 URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于 GET 请求,特定的浏览器和服务器对
URL的长度有限制。因此,在使用 GET 请求时,传输数据会受到 URL长度的限制。
对于POST,由于不是 URL 传值,理论上传输数据长度不受限制的

请求头:
用于描述客户端请求哪台主机,以及客户端的一些环境信息等
请求头是以键值对(key=value) 方式传递数据

请求体:
代表着浏览器在 post 请求方式中传递给服务器的参数,请求体中的每一个数据都是使用键值对( key == value)形式,多个值用 & 连接
注:服务器在收到请求后需要单独解析
例如:
name=test&passWord=123456

响应行:
响应行里包含了 HTTP 协议的版本,以及用于描述服务器对请求的处理结果

例如: HTTP/1.1 200 0k
格式:协议/版本 状态码 状态码描述
状态码:服务器和浏览器用于确定状态的固定数字码
200:请求成功
302:请求重定向
404:请求资源不存在,通常是访问路径写错了,或者服务器删除了该资源
500:服务器内部发生错误

响应头:
用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户如何处理等一会儿它回送的数据。

响应体:
代表服务器向客户端浏览器回送的正文。

1.会话技术:
从打开一个浏览器访问某个站点到关闭这个浏览器的整个过程就是一次会话,会话技术就是记录这次会话中客户端的状态与数据的
会话分类:
1) Cookie:数据存储在客户端本地,减少服务器端的存储压力,安全性不好,客户端可以清除 cookie
2) Session:将数据存储到服务器端,安全性相对好,增加服务器压力

2.Cookie技术

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸愉聊信奥

谢谢亲的支持,我会继续努力啦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值