本篇博客是在上一篇《Lucene搜索引擎+HDFS+MR完成垂直搜索》的基础上,在数据收集之后的JSP/Servlet方面,换为SpringMVC框架来实现。
借助SpringMVC技术完成数据库、HDFS、页面的交互,以达到实现垂直搜索引擎。
本篇博客的思想:一是深入数据收集、分析、关键词搜索呈现的流程实现;
一是借此实践学习SpringMVC框架的技术。
首先简单阐述实现垂直搜索引擎的流程:1‘网络爬虫的数据存取到HDFS和数据库中;
2’MR对数据进行分析规约;
3‘SpringMVC实现关键词搜索并呈现到网页(此处为本篇重点阐述)
----->
目录:
1、SpringMVC阐述
2、创建web项目(添加Spring框架支持)
3、配置applicationContext.xml★★
4、配置web.xml文件★★
5、添加log4j.properties文件至src根目录
6、实现DAO操作类
7、修改页面源码
8、编写控制器来自动接收参数,以及进行数据操作★★
9、过滤器解决乱码问题
10、结果显示
11、总结
------>
1、 SpringMVC阐述
SpringMVC是Spring的一个子框架,主要是用来处理MVC设计模式中的View和Control。
MVC:
Model:模型层,也就是数据库操作层。DAO部分代码
View:展示层,也就是页面显示部分。Servlet部分
Controller:控制层,也就是业务逻辑层。JSP部分
使用SpringMVC以后,这三部分代码都会有改变,由Spring来进行调整。
企业用的最多的是SpringMVC + MyBatis。
这里我们就只使用SpringMVC + JDBC来完成。
Spring 在这三层可以有不同的作用:
Model层中Spring可以帮助进行数据源连接池的配置,还可以简化JDBC的操作代码,同时还能帮助完成自动的打开和关闭数据库连接。
View层中,Spring可以帮助我们简化表单提交的参数代码,也可以自动接收Control中返回的数据信息。
Control层中,Spring可以帮助我们自动接收页面提交的参数。
Spring的核心在于配置文件,所有的类的信息基本都要加入到配置文件中或使用Annotation来进行标注。
2、创建web项目(添加Spring框架支持)
【项目整体呈现】
创建一个新的web项目,导入上一篇项目所需的jar包,以及拷贝vo类(DAO接口类)和utils类(关键词查询类)所在的包。
先为项目加入Spring的框架支持。
在项目上点右键,选择MyEclipse,然后找到install Spring … 的选项。
按照固定的步骤加入支持,最后一步时,一定要注意选择好需要的支持库,这里必须用到的是Persistence和Web
3、配置applicationContext.xml
这个文件Spring的配置文件,主要是将各种POJO,JAVA,action配置到XML转交给beanfactory管理,降低耦合度。
主要的配置组件:
然后就是这些之间的依赖关系,比如:
以上代码的意思会在loginAction的代码里引用MyServiceImpl类,但是只需要用ms代替就可以
例如:
public String execute() throws Exception{
ms.sayhello();
}
正常情况应该 new MyServiceImpl,但是通过XML配置之后就直接用以上代码就可以实现
new 的效果。
以下是该项目的配置文件呈现:
1 <?xml version="1.0" encoding="UTF-8"?>
2
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xmlns:p="http://www.springframework.org/schema/p"
6
7 xmlns:context="http://www.springframework.org/schema/context"
8 xmlns:mvc="http://www.springframework.org/schema/mvc"
9
10 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
11 http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.1.xsd
12 http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
13
14
15
16 </