学习新东西的的第一个程序——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.xml
10: 路径 : WEB-INF/servlet-name-servlet.xml
11:
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 + suffix
9: -->
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 + suffix
8: *
9: * 如:WEB-INF/views/success.jsp
10: *
11: * */
12:
13:
14: @RequestMapping("/HelloWorld")
15: public String hello() {
16: System.out.println("Hello World");
17: return "success";
18: }
19: }