javaWeb 总结


jsp侧重于实现复杂的界面  servlet侧重于实现逻辑问题
在服务器启动的时候调用init()创建,请求过来的时候调用service方法的doget或者dopost
在销毁的时候调用destory方法,servlet是单实例,使用servlet要注意线程并发问题
创建时机:
      load-on-startup配置了会在服务器启动的时候创建,没有加这个配置的时候,会在请求
      到达的时候创建servlet实例
2.redirec和forward的区别:
  响应的处理机制不同:foreword只有一次响应  redirect有两次响应(第一次是状态码
  302和下一个请求的地址)
  forward使用的request是同一个,而redirect是两个
  浏览器的地址URL不同
  使用感受:信息有request范围的选用forward
3.post和get 的区别:
  get是借助于地址栏传递请求信息
  post是借助于消息头传递请求信息
  get传递的数据量小(url浏览器有限制)
  post可以传递大量数据
  get不安全,post安全
  编码方式:get使用Unicode,post可以在页面时加上指定的编码格式
  默认情况下是get请求
  使用感受:表单提交用post,超链接请求,例如列表的删除、查看使用get
  避免使用get传中文
4.jsp的内置对象:
  out request  response  session Exception application config page pageContext
  page同一个页面 
  request同一个请求       
  session 同一个会话   
  application 多用户多请求  访问人数,在线人数适合用application
  cookie 客户端 适合长时间存储  购物车  使用的时候要注意安全性
  
5.jsp的动态include与静态include的区别:
  <jsp:include page="a.jsp">
  <@include file="a.jsp">
  静态适合引入静态页面元素,页面没有变化 
  动态适合引入动态页面元素,页面有java代码,会变化
6.描述下MVC模式
  M:业务处理
  V:视图,用户交互
  C:   协调业务逻辑
  好处:将代码模块化,以便将来的功能的扩充
7.描述一下struts1和struts2的区别,常用类及处理流程
  区别:Action组建更加灵活,可以不用依赖框架API,servlet API
  提供了大量的Result组件,用于实现不同视图技术的实现
  提供了拦截器组件,可以将通用处理封装成拦截器,典型的登录检查和日志记录
  struts2结构更加灵活,易于扩展,可通过自定义拦截器,
  提供了struts2标签和OGNL表达式语句
  struts2中一个请求对应一个action对象,不用考虑并发问题
  Action在struts1中是单例的,struts2不是单例的
  struts2处理流程:
  a.struts2主要的实现组件:
   StrutsPrepareActionFilter,ActionMapper,ActionProxy,ActionInvocation
   ConfigurationManager
   流程:
   1,客户发送请求,到达控制器 StrutsPrepareActionFilter
   2,控制器调用ActionManager实现请求和Action处理的映射ActionProxy
   3,ActionProxy调用CongifurationManager获取struts.xml配置信息,根据配置信息
   创建并实例化ActionInvocation
  
    **  请求到达,经过一系列过滤器,最后到达FilterDispatcher通过请求隐射到action代理对象,
 代理对象可以获取,配置信息到达ActionInvocation,然后到几个Interceptor调用action
 和result获得返回结果,然后经过Interceptor生成response响应,然后经过filter返回**
8.Hibernate有什么好处
  对JDBC进行了封装,简化了数据库访问操作
9,Hibernate是如何延迟加载的?
  可以将整个对象延迟加载,还可以将集合延迟加载,还可以是属性延迟加载,还可以load
  返回一个代理对象,调用一个代理对象的getter方法时,才发送sql执行查询实例化对象
10,说下Hibernate的缓存机制
  一级缓存(session级别),二级缓存(sessionFactory级别,默认关闭),查询缓存(默认关闭)
11,如何优化hibernate
  批量插入问题:为了防止缓存溢出,可以设置batch_size或者及时关闭二级缓存
  一对多删除问题:不建议使用级联,建议写hql语句删除
  抓取策略的选取fetch=“join”,fetch=“select"
  缓存的应用:一级,二级,查询的运用
  缓存的管理:缓存的清空和移除缓存对象
  集合的性能:有序使用List,无序使用set,对元素更新效率
12,如何使用多对多关联映射
13,为什么用Spring
14,解析下DI和IOC
15,什么事AOP,AOP的作用是什么
  登录检查,异常日志,事务管理
16,spring事务的传播行为与隔离级别,如何事务管理
17,请你谈谈SSH整合
  SHS整个中三个框架各自的作用
  struts:
  hibernate:
  spring:
  ·spring和struts整合方案(两种)(基于插件)
  ·spring和hibernate整合方式
  

你可能感兴趣的:(javaweb,java复习)