要存放中文)。
2) 设置Cookie的有效时间和作用域和有效路径。 3 )伴随重定向,随着响应对象响应给客户端浏览器。
4 )浏览器接收到Cookie内容进行I/O操作,把Cookie存放与本地某个Cookie特定文件夹中。
5 )当用户在次发送请求时,只要能获取到某个或某些Cookie,会由浏览器帮助自动携带Cookie发送给服务端。
服务器端示例代码如下:
Cookie c = new Cookie(\c.setMaxAge(10);
c.setDomain(\; c.setPath(\res.addCookie(c);
res.sendRedirect(\客户端代码示例如下: <%
Cookie[] cs= request.getCookies(); if(cs!=null){ } %>
2.1.4. Session简介
Session是什么?
由服务器端产生,存放于客户端浏览器的文本文件。 Session原理:
1) 在服务器端实例化Cookie对象,里面只能存放字符串内容(Cookie尽量不要存放中文)。
6
for(Cookie c : cs){ }
out.println(c.getName()+\
2) 设置Cookie的有效时间和作用域和有效路径。 3) 伴随重定向,随着响应对象响应给客户端浏览器。
4) 浏览器接收到Cookie内容进行I/O操作,把Cookie存放与本地某个Cookie特定文件夹中。
5) 当用户在次发送请求时,只要能获取到某个或某些Cookie,会由浏览器帮助自动携带Cookie发送给服务端。 2.1.5. Solr简介
Solr介绍
1)作用:一个搜索引擎。 2) SOLR实际是一个WEB项目。 3) 优点: 搜索内容高亮。 对搜索关键字的突出显示。
搜索引擎方案:目前在国内希望实现全文搜索常用解决方案。 1)使用Baidu, Google 提供的API
2)使用基于 Apache 提供的Lucene 搜索引擎实现。 Solr 运行原理:
Solr实际上是基于lucceen开发的,需要通过Solr对外提供的接口,访问Solr项目.Solr接收请求,交由SolrRequestHandler,处理请求.拆分请求内容为n多个词条(一句话拆分成多段).根据词条内容,索引整个Solr中内容,最终相应给用户一个XML格式的结果,也可以是备用结果。
索引介绍:
1)查询时,从头查询到结果一行一行的查询过程叫做顺序查询。
2)索引:建立内容和索引内容之间关系,通过找到索引内容快速定位到具体内容的过程就是索引查询(新华字典目录.) 。
3)solr基于反向索引进行查询的.建立索引和内容之间关系,通过索引查找内容的过程称为反向索引。
7
2.2. SSM框架技术
2.2.1. 框架技术概述
框架是一种通用的半成品的软件,SSM用了MVC的设计模式可以使程序易维护扩展,使程序员之间的分工比较明确,使业务逻辑与视图进行分离,简化了程序员的开发提高了工作效率,如图2-1就是框架技术在MVC三层模型所代表的角色。
Service(业务 ) 逻辑处理 DAO DataBase Mybatis Servlet(C) SpringMVC 从上到下: 传递的是参数封装的对象 从下到上: 从数据库中取出的结果封装的对象 用户 JSP(V) Spring 图2-1框架在MVC中的角色
8
2.2.2. SpringMVC框架
Springmvc运行流程图如图2-2
图2-2SpringMVC执行时序图
Springmvc运行原理:
在编程中都是以spring-webmvc.jar形式存在.SpringMVC是基于front设计模式研发出来的必须有入口地址,地址是DispatcherServlet。DispatcherServlet也是一个Servlet,在SpringMVC 中ServletAPI被完整的支持.由于是一个MVC框架,所以核心是控制器.大部分执行流程都是在控制器前后完成的。
具体执行流程为:
当用户发送请求后被DispatcherSevlet进行分发,然后转交给HandlerMapping进行验证格式是否合法,如果不合法报异常,如果合法向下传递交给HandlerAdapter准备调用某个Controller,Controller在进入之前一般都需要执行HandlerInterceptor拦截器的preHandle()方法,判断是否可以调用Controller.如果可以调用才能进入Controller,当Controller执行完成后再次进入拦截的postHandle验证传递内容是否合法,如果合法交给ViewResovler视图解析器调用具体的View视图资源.调用成功后再次进入拦截器的afterCompletion做最后验证,如果一切正确,响应给客户端.
到此,SpirngMVC执行结束.
9
2.2.3. Mybatis框架 Mybatis运行流程图如图2-3
图2-3MYBATIS的执行流程
图2-3Mybatis的执行流程
Mybatis是持久层框架,内部封装的JDBC,不依赖于SERVLET容器在测试阶段使用比较方便。
它的运行原理如下:
运行原理就是程序执行过程,平时编写代码时只需要把配置文件转换为流后给交SqlSessionFactoryBuilder就会产生SqlSessionFactory,但实际上底层是这样实现的.实际上把配置文件流交由XMLConfigBuilder进行解析,解析后把所有配置信息封装到Configuration中,再把Configuration传递给DefaultSqlSession -Factory,并实例化这个类在源码可以看出DefaultSqlSessionFactory是SqlSessionFactory的实现类,所以这个时候就产生了SqlSessionFactory接口的实例..需要openSession,产生SqlSession示例,根据SqlSession实例执行事务。
10