javaweb复习笔记总结

本文地址:http://www.cnblogs.com/maplefighting/p/8206863.html html

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

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

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

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

     POST请求参数将做为HTTP请求的正文部分数据库

四、ServletContext和web应用具备一样的生命周期编程

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

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

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

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

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

地址有变化                                    地址栏没变化

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

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

效率较低                                        较高

浏览器跳转                                   服务器跳转

HttpServletResponse                       RequestDispatcher

八、Servlet生命周期

 

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

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

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

九、cookie和session

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

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

十、Spring可以包装Hibernate异常,把他们从CheckedException变成RuntimeException

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

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

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

1三、Spring和struts2区别

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

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

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

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

1四、spring用到的设计模式

(1)工厂模式:BeanFactory

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

(3)适配器

(4)代理

1五、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

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

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

1八、struts1和struts2的区别

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

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

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

1九、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->拦截后->过滤后

2一、Hibernate二级缓存

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

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

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

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

2二、Maven  snapshot表明版本不稳定,处于开发中

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

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

2四、Spring中,bean的scope默认是singleton

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

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

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

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

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

2七、在Spring框架中获取链接池的方法

a、DBCP数据源

b、C3P0数据源

c、Spring的DriverManagerDataSourse

d、获取JNDI数据源

2八、Spring能够配置文件中配置Bean初始化和消亡函数

2九、doget和dopost是HttpServlet的方法

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

RequestDispatcher:forward()

30、spring的优势

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

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

IOC  工厂模式       AOP代理模式

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

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

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

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

3二、BeanFactory和ApplicationContext

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

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

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

SSM           springmvc              spring                    Mybatis

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

 

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

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

 以上为maplefighting我的笔记整理,若有出错,欢迎指正

相关文章
相关标签/搜索