学习新东西的的第一个程序——HelloWorld,以下是SpringMVC的HelloWorld
第一步:
用MAVEN 创建webapp,并添加依赖。(强烈建议使用MAVEN,MAVEN学习书籍和视频:《MAVEN实战》、孔浩MAVEN视频)
没有使用MAVEN,可以将artifactid中的jar加入classpath下。
1: <dependencies>2: <dependency>3: <groupId>${springframework.gid}</groupId>4: <artifactId>spring-core</artifactId>5: </dependency>6: <dependency>7: <groupId>${springframework.gid}</groupId>8: <artifactId>spring-beans</artifactId>9: </dependency>10: <dependency>11: <groupId>${springframework.gid}</groupId>12: <artifactId>spring-context</artifactId>13: </dependency>14: <dependency>15: <groupId>${springframework.gid}</groupId>16: <artifactId>spring-expression</artifactId>17: </dependency>18: <dependency>19: <groupId>${springframework.gid}</groupId>20: <artifactId>spring-web</artifactId>21: </dependency>22: <dependency>23: <groupId>${springframework.gid}</groupId>24: <artifactId>spring-webmvc</artifactId>25: </dependency>26: <dependency>27: <groupId>${springframework.gid}</groupId>28: <artifactId>spring-aop</artifactId>29: </dependency>30: </dependencies>
第二步:
配置web.xml:
1: <!--2: 配置SpringMVC的 org.springframework.web.servlet.DispatcherServlet 来处理所有请求3: -->4: <servlet>5: <servlet-name>dispatcherServlet</servlet-name>6: <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>7: <!--8: contextConfigLocation:SpringMVC 容器配置文件的位置,可以不写,使用默认的方式9: 默认情况下: 配置文件名 servlet-name-servlet.xml10: 路径 : WEB-INF/servlet-name-servlet.xml11:
12: 本例使用默认情况下配置文件的路径为: WEB-INF/dispatcherServlet-servlet.xml。init-param可以不配置13: -->14: <init-param>15: <param-name>contextConfigLocation</param-name>16: <param-value>WEB-INF/applicationContext.xml</param-value>17: </init-param>18: <!--19: 在容器启动的时候加载此 servlet(实例化并调用Init()方法)20: -->21: <load-on-startup>1</load-on-startup>22: </servlet>23: <servlet-mapping>24: <servlet-name>dispatcherServlet</servlet-name>25: <url-pattern>/</url-pattern>26: </servlet-mapping>
第三步:
配置applicationContext.xml:
1: <!--2: 配置要扫描注解的包3: -->4: <context:component-scan base-package="fhj"></context:component-scan>5:
6: <!--7: 配置视图解析器:如何把handler方法返回值解析为实际的物理视图8: 实际物理视图:prefix + returnVal + suffix9: -->10: <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">11: <property name="prefix" value="/WEB-INF/views/"/>12: <property name="suffix" value=".jsp"/>13: </bean>
第四步:
在WEB-INF文件夹中创建views文件夹,在views中创建success.jsp。
目录截图:
success.jsp内容:
1: <%@ page contentType="text/html;charset=UTF-8" language="java" %>2: <html>3: <head>4: <title></title>5: </head>6: <body>7: <h1>SUCCESS</h1>8: </body>9: </html>index.jsp内容:
1: <%@ page contentType="text/html;charset=UTF-8" language="java" %>2: <html>3: <head>4: <title></title>5: </head>6: <body>7: <a href="HelloWorld">Hello World</a>8:
9: </body>10: </html>
第五步:
创建请求处理类:HelloWorld
1: @Controller
2: public class HelloWorld {3: /*4: *5: * 1.通过@RequestMapping注解,指定控制器处理哪些 URL 请求6: * 2.InternalResourceViewResolver解析器,通过方法返回值得到实际的物理视图,然后做转发操作7: * prefix + returnVal + suffix8: *9: * 如:WEB-INF/views/success.jsp10: *11: * */12:
13:
14: @RequestMapping("/HelloWorld")15: public String hello() {16: System.out.println("Hello World");17: return "success";18: }
19: }