spring-mvcspring-mvc入门


备注

本节概述了spring-mvc是什么,以及开发人员为什么要使用它。

它还应该提到spring-mvc中的任何大型主题,并链接到相关主题。由于spring-mvc的文档是新的,您可能需要创建这些相关主题的初始版本。

版本

弹簧

发布日期
版本4.3.x 2016年6月10日
4.2.x版 2015年7月31日
4.1.x版 2014年9月14日
4.0.x版 二零一三年十二月十二日
3.2.x中 二零一二年十二月一十三日
3.1.X 2011-12-13
3.0.x的 2009-12-17
2.5.X 2007-12-25
2.0.x版本 2006-10-04
1.2.x版本 2005-05-13
1.1.x版本 2004-09-05
1.0.x的 2003-03-24

Servlet Spec

发布日期
3.1 2013年5月31日
3.0 2009-12-31
2.5 2005-09-30
2.4 2003-11-30
2.3 2001-08-31
2.2 1999-08-31
2.1 1998-11-30
1.0 1997年7月31日

第一个Spring-MVC项目

创建动态Web项目,提供如下所述的以下信息

  1. 项目名称:DemoSpringMVCProject
  2. 目标运行时:设置为Apache Tomcat v7.0服务器

点击完成,我们成功创建了动态网络项目。

现在我们必须设置Spring-MVC框架:

  1. “WebContent \ WEB-INF \”文件夹下创建web.xml
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Demo9</display-name>

<servlet>
  <servlet-name>spring</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>demo</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>
 
  • DispatcherServlet类拦截传入请求并确定哪个控制器处理请求。
  • 我们将在创建servlet.xml时使用servlet-name“ demo
  1. 'WebContent \ WEB-INF \'文件夹下创建demo-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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="com"></context:component-scan>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/WEB-INF/jsp/"></property>
 <property name="suffix" value=".jsp"></property>
</bean>

</beans>
 
  • context:component-scan用于扫描在'com'包下定义的所有控制器。

  • ViewResolver接口用于管理逻辑视图和实际视图之间的映射。视图解析器的预定义实现可用于映射视图。例如:InternalResourceViewResolver,VelocityViewResolver。

  • 要搜索所有jsp页面,我们定义了前缀 ,它只是setter属性,它的值设置为'/ WEB-INF / jsp /' (文件夹路径)。 后缀只是getter属性,它的值被设置为'.jsp' (搜索文件扩展名为.jsp)

  1. 添加所需的库:

让我们在项目中添加Spring Framework和通用日志API库。为此,右键单击项目名称DemoSpringMVCProject,然后按照上下文菜单中的以下选项进行操作:构建路径 - >配置构建路径以显示Java构建路径窗口,如下所示:

现在使用Libraries选项卡下的Add External JARs按钮从Spring Framework和Common Logging安装目录添加以下核心JAR:

  • 共享记录-1.1.1

  • 弹簧AOP-4.1.6.RELEASE

  • 弹簧方面,4.1.6.RELEASE

  • 弹簧豆,4.1.6.RELEASE

  • 弹簧上下文4.1.6.RELEASE

  • 弹簧上下文支持,4.1.6.RELEASE

  • 弹簧芯4.1.6.RELEASE

  • 弹簧表达-4.1.6.RELEASE

  • 弹簧仪器4.1.6.RELEASE

  • 弹簧仪器Tomcat的4.1.6.RELEASE

  • 弹簧JDBC-4.1.6.RELEASE

  • 弹簧JMS-4.1.6.RELEASE

  • 弹簧消息传递4.1.6.RELEASE

  • 弹簧ORM-4.1.6.RELEASE

  • 弹簧OXM-4.1.6.RELEASE

  • 弹簧 - 测试 - 4.1.6.RELEASE

  • 弹簧-TX-4.1.6.RELEASE

  • 弹簧网络4.1.6.RELEASE

  • 弹簧webmvc-4.1.6.RELEASE

  • 弹簧webmvc的portlet-4.1.6.RELEASE

  • 弹簧的WebSocket-4.1.6.RELEASE

让我们转向控制器和jsp页面:

  1. src文件夹下创建一个com.demo.controller包。
  2. com.demo.controller包下创建一个LoginController
package com.demo.controller;

import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class LoginController {

@RequestMapping("/")
public String startPage(){
    return "login";
}

@RequestMapping("/signin")
public String handleRequest(HttpServletRequest request){
    String name = request.getParameter("name");
    String pass = request.getParameter("password");
    if(name.equals(pass))
    {
        return "welcome";
    }else{
        return "login";
    }
    
   }

}
 
  1. 'WebContent \ WEB-INF \ jsp \'下创建一个login.jsp和welcome.jsp页面

login.jsp的

   <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Login Page</title>
    </head>
    <body>
      <form action="signin">
          <table>
            <tr>
                <td>User Name : </td>    
                <td><input type="text" name="name" id="name"/> </td>
            </tr> 
            <tr>
                <td>Password: </td>    
                <td><input type="text" name="password"  id="password"/> </td>
            </tr>  
            <tr>
                <td colspan="2"><input type="submit" value="Login"/></td>    
            </tr> 
          </table>
      </form>
    </body>
    </html>
 

的welcome.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
  <h1> Welcome to Spring MVC !!! </h1>
</body>
</html>
 

在localTomcat服务器中添加DemoSpringMVCProject并在服务器上运行它。