加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

首 个Spring MVC程序

发布时间:2022-12-15 12:42:47 所属栏目:语言 来源:
导读:  本节通过一个简单的 Web 应用 springmvcDemo 来演示如何创建 Spring MVC 程序。

  搭建步骤如下:
  创建 Web 应用并引入 JAR 包,本教程 Spring 使用版本为 5.2.3
  Spring MVC 配置:在 web.xml 中
  本节通过一个简单的 Web 应用 springmvcDemo 来演示如何创建 Spring MVC 程序。
 
  搭建步骤如下:
  创建 Web 应用并引入 JAR 包,本教程 Spring 使用版本为 5.2.3
  Spring MVC 配置:在 web.xml 中配置 Servlet,创建 Spring MVC 的配置文件
  创建 Controller(处理请求的控制器)
  创建 View(本教程使用 JSP 作为视图)
  部署运行
  1. 创建Web应用并引入JAR包
  创建 Web 应用 springmvcDemo,在 springmvcDemo 的 lib 目录中添加 Spring MVC 所依赖的 JAR 包。
  Spring MVC 依赖 JAR 文件包括 Spring 的核心 JAR 包和 commons-logging 的 JAR 包。
 
  Maven 项目在 pom.xml 文件中添加以下内容:
  <!--测试-->
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
  </dependency>
  <!--日志-->
  <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.21</version>
  </dependency>
  <!--J2EE-->
  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
  </dependency>
  <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
  </dependency>
  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
  </dependency>
  <!--mysql驱动包-->
  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.35</version>
  </dependency>
  <!--springframework-->
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.2.3.RELEASE</version>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.3.RELEASE</version>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.3.RELEASE</version>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.2.3.RELEASE</version>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.2.3.RELEASE</version>
  </dependency>
  <dependency>
      <groupId>com.github.stefanbirkner</groupId>
      <artifactId>system-rules</artifactId>
      <version>1.16.1</version>
      <scope>test</scope>
  </dependency>
  <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.9</version>
  </dependency>
  <!--其他需要的包-->
  <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.4</version>
  </dependency>
  <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
  </dependency>
  2. Spring MVC配置
  Spring MVC 是基于 Servlet 的,DispatcherServlet 是整个 Spring MVC 框架的核心,主要负责截获请求并将其分派给相应的处理器处理。所以配置 Spring MVC,首先要定义 DispatcherServlet。跟所有 Servlet 一样,用户必须在 web.xml 中进行配置。
  1)定义DispatcherServlet
  在开发 Spring MVC 应用时需要在 web.xml 中部署 DispatcherServlet,代码如下:
  <?xml version="1.0" encoding="UTF-8"?>
  <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0">
      <display-name>springMVC</display-name>
      <!-- 部署 DispatcherServlet -->
      <servlet>
          <servlet-name>springmvc</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <!-- 表示容器再启动时立即加载servlet -->
          <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>springmvc</servlet-name>
          <!-- 处理所有URL -->
          <url-pattern>/</url-pattern>
      </servlet-mapping>
  </web-app>
  Spring MVC 初始化时将在应用程序的 WEB-INF 目录下查找配置文件,该配置文件的命名规则是“servletName-servlet.xml”,例如 springmvc-servlet.xml。
 
  上述代码配置了一个名为“springmvc”的 Servlet。该 Servlet 是 DispatcherServlet 类型,它就是 Spring MVC 的入口,并通过 <load-on-startup>1</load-on-startup> 配置标记容器在启动时就加载此 DispatcherServlet,即自动启动。然后通过 servlet-mapping 映射到“/”,即 DispatcherServlet 需要截获并处理该项目的所有 URL 请求。
  2)创建Spring MVC配置文件
  在 WEB-INF 目录下创建 springmvc-servlet.xml 文件,如下所示。
  <?xml version="1.0" encoding="UTF-8"?>
  <beans xmlns="http://www.springframework.org/schema/beans"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans.xsd">
      <!-- LoginController控制器类,映射到"/login" -->
      <bean name="/login"
            class="net.biancheng.controller.LoginController"/>
      <!-- LoginController控制器类,映射到"/register" -->
      <bean name="/register"
            class="net.biancheng.controller.RegisterController"/>
  </beans>
  3. 创建Controller
  在 src 目录下创建 net.biancheng.controller 包,并在该包中创建 RegisterController 和 LoginController 两个传统风格的控制器类(实现 Controller 接口),分别处理首页中“注册”和“登录”超链接的请求。
  Controller 是控制器接口,接口中只有一个方法 handleRequest,用于处理请求和返回 ModelAndView。
 
  RegisterController 的具体代码如下。
  package controller;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import org.springframework.web.servlet.ModelAndView;
  import org.springframework.web.servlet.mvc.Controller;
  public class LoginController implements Controller {
      public ModelAndView handleRequest(HttpServletRequest arg0,
              HttpServletResponse arg1) throws Exception {
          return new ModelAndView("/WEB-INF/jsp/register.jsp");
      }
  }
  LoginController 的具体代码如下。
  纯文本复制
  package controller;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import org.springframework.web.servlet.ModelAndView;
  import org.springframework.web.servlet.mvc.Controller;
  public class RegisterController implements Controller {
      public ModelAndView handleRequest(HttpServletRequest arg0,
              HttpServletResponse arg1) throws Exception {
          return new ModelAndView("/WEB-INF/jsp/login.jsp");
      }
  }
 

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!