1. 请介绍一下你对网站请求执行流程的理解,越详细越好,最好附带图示
C/S client/server 客户端/服务器端
B/C browser/server 浏览器/服务器
通过浏览器访问到对应页面,发送请求(同步请求 异步请求 ajax请求 会读接口文档 ) -> 服务器(云服务器: 腾讯云服务器 阿里云服务器等) -> 应用服务器 Tomcat -> 匹配servlet -> service业务处理 -> dao层 JDBC Hibernate,ORM -> 数据库 -> Filter -> servlet(控制器Controller) MVC(Model View Controller) -> jsp.json
session 存在服务器 相对安全
cookie 浏览器 后台可以操控response
Ensample: 现在要做支付业务,用到哪些dao层 订单dao 添加dao User dao修改 商品dao查询
Tomcat---应用服务器
上线部署 -> 服务器(对外王开放) 就是一台能够被外网访问的电脑
2. 请说明当如下配置生效时,若访问/reg请求时的各过滤器和servletde 执行顺序
<filter>
<filter-name>test1</filter-name>
<filter-class>com.lanou.filter.EncodigFilter</filter-class>
<init-param>
<param-name>aaa</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>test1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>test2</filter-name>
<filter-class>com.lanou.filter.Test1</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>test2</filter-name>
<url-pattern>/reg</url-pattern>
</filter-mapping>
1 test1b
2 test1a
3 servlet
4 test2b
5 test2a
执行顺序: 1 4 3 5 2
chain 过滤器链
集群, 分布式 微服务
一 搭环境
二 成功运行demo 如:helloworld
三 核心方法 怎么使用
四 源代码怎么写(中高级)
3. Hibernate环境如何搭建?
1.引入jar包
配置文件
2.主配置文件
3.映射配置文件
4. Hibernate一共有几种状态,状态之间是怎么来进行改变的?
三种状态: 瞬时态 持久态 游离态
创建对象时 瞬时态 --> 给对象设置id 游离态 --> 调用session方法 持久态
持久态 -- > 提交事务(session释放) 游离态
hibernate在提交事务之后 把持久态的对象同步到数据库中
Ensample: User user = session.get();
User.setName(“lna”);
返回的结果集会被hibernate封装成对象 保存在缓存中一份
修改时 查找缓存中的对应对象
提交时 才将缓存中修改后的数据同步到数据库
若在提交前 直接关闭session 无法提交 那么数据库重的数据就不会改变
Hibernate的缓存
Session对象
5. Hibernate是怎么将数据库中取出的结果集封装进实体类中的?
ORM 对象关系映射
设置映射配置文件
配置文件的字段名、数据库表中的字段名 与 实体类中的属性 一一对应
数据库表名 对应实体类名
数据库表中的字段 映射到实体类(字段名对应实体类中的属性)
(注意: 最后需要在主配置文件中配置 映射数据库表对应的映射文件路径)
Ensample:
<!-- 配置映射文件的路径 -->
<mapping resource="com/lanou3g/bean/Customer.hbm.xml"/>