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整合方式
??