javaweb复习笔记总结

Posted maplefighting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaweb复习笔记总结相关的知识,希望对你有一定的参考价值。

1、Http协议位于应用层,建立在TCP/IP协议上,端口为80

2、HTTP请求由(1)请求方法,URI和HTTP协议的版本 (2)请求头  (3)请求正文构成

     HTTP响应由(1)HTTP协议版本,状态代码和描述  (2)响应头  (3)响应正文

3、GET请求参数在HTTP请求第一行URI后面

     POST请求参数将作为HTTP请求的正文部分

4、ServletContext和web应用具有同样的生命周期

5、重定向sendRedirect:用户请求-->服务器返回302状态码-->浏览器收到响应后,自动请求另一个web

6、JSP生命周期:(1)解析阶段:Servlet解析JSP (2)翻译阶段:Servlet容器把JSP文件翻译成Servlet源文件

  (3)编译阶段:编译Servlet源文件生成类

  (4)初始化阶段:加载JSP文件对应的Servlet类,创建实例,调用初始化方法 (5)运行时阶段  (6)销毁阶段

7、  SendRedirect重定向                  Forward服务器内部转发

地址有变化                                    地址栏没变化

不能共享                                        能共享request里面数据

URL能跳转到其他站点                只能在同一个web内

效率较低                                        较高

浏览器跳转                                   服务器跳转

HttpServletResponse                       RequestDispatcher

8、Servlet生命周期

技术分享图片

 

a、如果请求时静态页面,服务器直接返回

b、如果是动态,交给Web容器,如果没有找到Servlet (第一次访问没有),则读取xml配置文件,把相应的Servlet放进Web容器,接着创建Servlet实例,

调用init()-->判断service() -->doget(),dopost(),然后返回给浏览器 -->destory()

9、cookie和session

技术分享图片

技术分享图片

cookie:一开始客户端没有cookie,访问服务器时会创建

Session:session一开始也没有,服务器创建session,然后返回并保存SessionId在客户端

10、Spring能够包装Hibernate异常,把他们从CheckedException变成RuntimeException

11、Spring提供编程式事务(嵌在业务代码)和声明式事务(xml)

SessionFactory只有使用Hibernate才需要注入,注入事务管理器

12、Spring核心控制器,DispatcherServlet负责接收Http请求,加载配置文件,初始化上下文ApplicationContext,文件上传解析

13、Spring和struts2区别

(1)springmvc是基于方法设计,struts2基于类

(2)struts有自己的interceptor,springmvc用的是独立的Aop方式

(3)springmvc方法之间基本是独立,独享request,response数据。struts2所有Action变量共享的

(4)springmvc的入口是servlet,struts2是filter

14、spring用到的设计模式

(1)工厂模式:BeanFactory

(2)单例模式,依赖注入用双重判断加锁

(3)适配器

(4)代理

15、spring两种代理方式:jdk和cglib

(1) 若目标对象实现了若干接口,则用jdk的Proxy代理

(2) 若没有实现任何接口,则用cglib库生成子类

jdk代理是由java内部的反射机制实现的。

cglib是借助asm来实现的,用到第三方类库,需引入cglib.jar,asm.jar

jdk代理要为目标类同一接口类

cglib代理需要生成增强过的目标类

具体使用可以查看:https://www.2cto.com/kf/201701/590030.html

16、网站负载太大:使用缓存,集群,CDN加速,分布式

17、消息队列:把消息按照产生的次序加入队列。短信,电子邮件,订阅等

18、struts1和struts2的区别

struts1与Servlet严重耦合,Action->Execute

(1)Action必须实现Struts的Action类,Struts2可以不实现任何类或接口

(2)Struts1的Action是单例模式,必须实现线程安全。Struts2是每一请求一个实例

19、Hibernate与Mybatis区别

(1)基本没有复杂语句可选Hibernate,sql封装好了,开发快。负责语句多的选Mybatis

(2)Mybatis需要手写sql

(3)Hibernatw移植性好,Mybatis需不同数据库不同sql

20、过滤器filter和拦截器interceptor的区别

a、filter是基于函数回调的,interceptor基于java反射机制

b、filter依赖Servlet容器,interceptor不依赖

c、filter对几乎所有请求起作用,interceptor只能对action起作用

d、interceptor可以访问action上下文,值栈里的对象。而过滤器不能

e、在action中interceptor可以多次被调用,而filter只在容器初始化时调用一次

f、执行顺序:过滤前->拦截前->action->拦截后->过滤后

21、Hibernate二级缓存

一级缓存是Session级别。二级缓存是SessionFactory基本

一级缓存是事务级别的缓存,必须同一个Session。二级缓存是进程范围的缓存。相同操作就可以用缓存

一级缓存不会出现并发问题。二级缓存会

应用场景:二级缓存:(1)很少被修改数据 (2)不重要的 (3)不会被并发的

22、Maven  snapshot代表版本不稳定,处于开发中

                    Release代表稳定版本,发行版本

23、aop只是对oop的补充。aop是一种设计模式,Spring提供一种实现

24、Spring中,bean的scope默认是singleton

25、a、Java Servlet API引用Session机制来追踪客户状态,定义了HttpSession接口,Servlet容器必须实现该接口

b、当一个Session开始时,Servlet容器将创建一个HttpSession,分配SessionID,,存在客户端浏览器,如果禁用了Cookie,Servlet可以重写客户请求的URL,把SessionID放入URL中

c、HttpServletResponse接口提供重写String.encodeURL(url)

26、IOC注入方式:属性注入,构造注入

没有设值注入的情况下,会根据配置文件构造注入,有的话,构造注入失效

27、在Spring框架中获取连接池的方法

a、DBCP数据源

b、C3P0数据源

c、Spring的DriverManagerDataSourse

d、获取JNDI数据源

28、Spring可以配置文件中配置Bean初始化和消亡函数

29、doget和dopost是HttpServlet的方法

Servlet:init(),service(),destory()

RequestDispatcher:forward()

30、spring的优点

(1)降低耦合性   (2)容器提供单例模式支持   (3)提供aop技术,权限拦截,运行期监控   (4)低侵入式设计

(5)spring的DI机制降低业务对象替换的复杂性

IOC  工厂模式       AOP代理模式

31、IOC是指控制权由应用代码转到外部容器

Servlet接口定义了Servlet的生命周期

IOC由Spring负责控制对象的生命周期和对象间的关系

ApplicationContext建立在BeanFactory之上,提供系统架构服务

32、BeanFactory和ApplicationContext

相同:同过xml配置文件加载Bean,ApplicationContext由BeanFactory接口派生

不同:Beanfactory是延迟加载,直到第一次调用getBean才会报错。ApplicationContext则在初始化时检验

33、SSH         struts控制器       spring管理各层        hibernate持久层

SSM           springmvc              spring                    Mybatis

34、Struts2和Springmvc原理  (自行google或baidu,两个流程图)

 

参考书籍:Tomcat与java web 开发技术详解(第二版)孙卫琴大型网站技术架构:核心原理与案例分析-李智慧spring实战spring技术内幕

--------------------------------------------------------------------------------------------------------------

 以上为maplefighting个人笔记整理,如有出错,欢迎指正

以上是关于javaweb复习笔记总结的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb笔记总结

[硬核]卷起来!两万六千字总结的JavaWeb核心技术学习笔记

笔记总结计算机系期末复习专业课学习算法与其他笔记

笔记总结计算机专业面向期末考试复习笔记专业课学习笔记课外算法与其他学习笔记

JavaWeb 笔记总结

JavaWeb Servlet 学习笔记总结( 一 )