首页 > 编程语言 > 详细

javaweb复习笔记总结

时间:2018-01-07 21:29:15      阅读:295      评论:0      收藏:0      [点我收藏+]

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复习笔记总结

原文:https://www.cnblogs.com/maplefighting/p/8206863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!