SpringMVC(一) HelloWorld

时间:2023-03-10 00:32:45
SpringMVC(一) HelloWorld

学习新东西的的第一个程序——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。

目录截图:

SpringMVC(一) HelloWorld

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: }