Spring温故知新:WEB篇(二)Hello,World!(一)

2014-11-24 02:29:15 · 作者: · 浏览: 0

在准备写代码之前,我们首先得把下列必备的库导入项目:
spring-framework-2.5.6\dist\spring.jar
spring-framework-2.5.6\dist\modules\spring-webmvc.jar
spring-framework-2.5.6\lib\jakarta-commons\commons-logging.jar
spring-framework-2.5.6\lib\j2ee\jstl.jar

只要把这几个文件拷贝到项目的WebContent\WEB-INF\lib目录下,然后在eclipse里刷新一下项目,就可以自动导入库。

这时候我们可以开始修改项目的WebContent\WEB-INF文件夹下的web.xml这个配置文件。
要使用Spring来制作一个web,首先我们得在web.xml里新建一个servlet,这个servlet的作用就是告诉tomcat容器,当一个请求符合某一种规则的时候就用Spring来负责处理这个请求。

例如我们需要让Spring来接管所有以.do为后缀的url请求,那么就需要修改web.xml为以下内容:
web.xml:
Xml代码
< xml version="1.0" encoding="UTF-8" >
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
SpringWeb

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp


dispatcherServlet
org.springframework.web.servlet.DispatcherServlet


dispatcherServlet
*.do


如果有servlet编程基础的话就可以知道,servlet-name节点的内容是可以自定义的,不过和对应的一定要有相同的servlet-name。它们分别代表了一个servlet的定义和servlet的映射关系。

以上这个servlet的作用,就是告诉tomcat只要url请求是以.do为后缀的,就交给org.springframework.web.servlet.DispatcherServlet这个Spring的类来处理,而DispatcherServlet看字面意思就能明白它的作用就是一个分配器。

只要在web.xml里成功配置好以后,我们就可以正式进入spring部分。首先我们得在web.xml的同一目录下新建一个dispatcherServlet-servlet.xml文件。

当然你可以在任意目录新建一个任意文件名的xml,而且一般都会放在WEB-INF文件夹下的一个新建的自定义文件夹里,一般为WEB-INF\conf文件夹。不过这样的话你还得在web.xml文件里修改一下servlet的参数。
这里就把这个内容作为自学内容交给你自己去google吧,学会google要比学会编程更重要啊!

那么默认情况下是不是这个xml的文件名必须是dispatcherServlet-servlet.xml呢?回答是肯定的。
在默认情况下,Spring会首先自动查找web.xml同一目录下、而且文件名为servlet的名称再加上-servlet的xml文件。
这时候你就会发现dispatcherServlet-servlet.xml这个文件名的横杆前部分就是之前web.xml里的servlet-name的值、后半部分就是恒定的servlet这个单词。
如果之前你自定义了servlet-name,比如改成了bolide74Servlet,那么这里的文件名就必须是bolide74Servlet-servlet.xml。

dispatcherServlet-servlet.xml:
Xml代码
< xml version="1.0" encoding="UTF-8" >
http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">

class="org.springframework.web.servlet.view.InternalResourceViewResolver">







class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">


helloWorld









你会发现,这个dispatcherServlet-servlet.xml其实就是一个Spring配置文件,里面都是一个个的bean,很亲切吧!
viewResolver这个bean的作用就是告诉Spring我们的web视图文件都是以.jsp为后缀也就是jsp页面,它们都存放在/WEB-INF/jsp/这个文件夹下面。只要有了这个bean那么接下来的action部分就不用这么麻烦的每次都把jsp页面的路径和文件名都写全了。
urlMapping就是一个映射表,它告诉了Spring哪种url请求对应了哪一个action,例如我们这里是告诉Spring只要url请求为helloWorld.do,那么调用helloWorld这个bean。
helloWor