1.2、web应用程序
1.3、静态web
.html,.htm这些都是网页的后缀,如果服务器上一直存在这些东西,我们就直接进行读取。
它无法和数据库进行交互(数据无法持久化,用户无法交互)1.4、动态Web

2.1、技术讲解
ASP:
微软:国内最早流行的ASP
在html中嵌入VB的脚本,ASP+COM
在ASP开发中,基本一个页面
维护成本高
C#
PHP:
PHP开发速度很快,功能很强大,跨平台,代码很简单
无法承载大访问量的情况(局限性)
JSP/Servlet:
B/S:浏览器和服务器
C/S:客户端和服务器
sun公司主推的B/S架构
基于java语言的(所有的大公司,或者一些开源的组件,都是用java写的)
可以承载三高带来的影响
语法像ASP, ASP—->JSP,加强市场强度
2.2、web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息

4.1、什么是HTTP
HTTP是一个简单的请求响应协议,通常运行在TCP之上
- 80
Https:安全的 - 443
4.2、两个时代
- http1.0:
HTTP/1.0:客户端可以与web服务器连接后,只获得一个web资源 - http2.0
HTTP/1.1:客户端可以与web服务器连接后,可以获取多个web资源
4.3、Http请求
客户端发送请求(request)
1、请求行
请求行中的请求方式:GET
请求方式:GET、POST、HEAD、PUT、DELETE
2、消息头
4.4、Http响应
服务端–响应–客户端
1、响应体
2、响应状态码
200:请求响应成功
3xx:请求重定向
4xx:找不到资源
404资源不存在
5xx:服务器代码错误
502网关错误
常见面试题:
当你的浏览器中地址栏输入地址栏并回车的一瞬间到页面能够展示出来,经历了什么?
5、Maven
1、在JavaWeb开发中,需要使用大量的jar包,我们手动导入
2、如何能够让一个东西自动帮我们导入和配置这个jar包。
5.1、Maven项目架构管理工具
Maven核心思想:约定大于配置
6.1、Servlet简介
servlet是Sun公司开发动态web的一门技术
Sun在这些API中提供一个接口叫做:Servlet
6.2、HelloServlet
6.3、servlet原理

6.4、mapping问题
1.优先级问题:指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求
- 共享数据:我在这个Servlet中
6.6HttpServletResponse
web服务器接收客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,代表响应的一个HttpServletResponse
- 如果要获取客户端请求过来的参数,就找HttpServletRequest
- 如果要获取客户端响应的一些信息:找HttpServletResponse
1、简单分类
负责向浏览器发送数据的方法
负责向浏览器发送响应头的方法
文件下载案例:
3、验证码功能
验证怎么来的?
- 前端实现
- 后端实现,需要用到java的图片类
4、实现重定向
一个web资源收到客户端请求后,它会通知客户端去访问另外一个web资源,这个过程叫做重定向
常见场景:
- 用户登录
重定向代码
面试题:请你聊聊重定向和转发的区别?
相同点:
- 页面都会实现跳转
不同点:
- 请求转发 的时候,url不会产生变化 307
- 重定向的时候,url地址栏会发生变化 302
6.7、HttpServletRequest
HttpServletRequest代表客户端的请求,用户通过Http协议访问服务器,
HTTP请求中所有信息会被封装到HttpServletRequest,通过这个HttpServletRequest的方法,可以获得客户端的所有信息
1、获取前端请求的参数
2、请求转发
7、Cookie、Session
7.1、会话
会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话
有状态会话:
1.服务端给客户端一个信件,客户端下次访问服务端带上信件就可以了:cookie
2.服务器登记你来过了,下次你来的时候我来匹配你:session
7.2、保存会话的两种技术
cookie:
- 客户端技术(响应,请求)
session:
- 服务器技术,利用这个技术,可以保存用户的会话信息?我们可以把信息或者数据放在session中!

cookie一般保存在本地的用户目录下appdata
一个网站的cookie是否会存在上限?
- 一个Cookie只能保存一个信息
- 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie
- Cookie大小有限制4kb
- 300个cookie浏览器上限
删除Cookie:
- 不设置有效期,关闭浏览器,自动失效
- 设置有效期时间为0
7.4、Session(重点)
什么是session:
- 服务器给每一个用户(浏览器)创建一个Session对象
- 一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在
- 用户登录之后,整个网站它都可以访问—>保存购物车的信息
Session和Cookie的区别:
- Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
- Session 把用户的数据写到用户独占Session中,服务端保存(保存重要的信息),减少服务器资源的浪费
- Session对象由服务创建
使用场景:
- 保存一个登录用户的x信息
- 购物车信息
- 在整个网站中经常被使用到的数据,我们将它保存到Session中
会话自动过期:web.xml中配置
8、JSP
8.1、什么是JSP?
Java Server Page
最大特点:
- 写JSP就像是在写HTML
区别:
- HTML只给用户提供静态数据
- JSP页面中可以嵌入JAVA代码,为用户提供动态数据
8.2、JSP原理
浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servelt
JSP最终也会被转换成为一个java类,本质就是一个Servlet
这样的格式,输出到前端!
8.3、JSP基础语法及其指令
Java所有的语法都支持
JSP表达式<%= %>
JSP脚本片段<% %>
JSP声明<%! %>
jsp声明会被编译到JSP生成的java类中!其他的就会被生成到_jspService方法中!
8.5、9大内置对象
- pageContext 存东西
- Request
- Response
- Session
- Application【ServerContext】存东西
- config【ServerConfig】
- out
- page
- exception
8.6、JSP标签、JSTL标签、EL表达式
EL表达式:${}
- 获取数据
- 执行运算
- 获取web开发的常用对象
- 必须要有一个无参构造
- 属性必须私有化
- 必须有对应的get/set方法
一般跟数据库的字段做映射 ORM(对象关系映射)
- 表—>类
- 字段–>属性
- 行记录–>对象

- 业务处理:业务逻辑(Service)
- 数据持久层:CRUD(Dao)
View
- 展示数据
- 提供链接发起Servlet请求(a,from,img)
Controller(Servlet)
- 接收用户的请求:(req:请求参数,Session信息…)
- 交给业务层处理对应的代码
- 控制视图的跳转
登录—>接收用户的登录请求—->处理用户的请求(获取用户登录的参数,username,password)—>给业务层处理登录业务(判断用户名密码是否正确:事务)—->Dao层查询用户名和密码是否正确—>数据库
Filter:过滤器
实现一个监听器的接口
index.jsp

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/176775.html