spring-mvcAan de slag met spring-mvc


Opmerkingen

Deze sectie geeft een overzicht van wat spring-mvc is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen binnen spring-mvc vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor spring-mvc nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

versies

Voorjaar

Versie Publicatiedatum
4.3.x 2016/06/10
4.2.x 2015/07/31
4.1.x 2014/09/14
4.0.x 2013/12/12
3.2.x 2012/12/13
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

Versie Publicatiedatum
3.1 2013/05/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/07/31

Eerste Spring-MVC-project

Creëer Dynamic Web project, geef volgende informatie zoals hieronder vermeld

  1. Projectnaam: DemoSpringMVCProject
  2. Doeltijd: ingesteld als Apache Tomcat v7.0-server

Klik op voltooien, met succes hebben we een dynamisch webproject gemaakt.

Nu moeten we Spring-MVC framework instellen:

  1. Maak web.xml onder de map 'WebContent \ WEB-INF \'
<?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>
 
  • Waar DispatcherServlet-klasse Binnenkomende aanvraag onderschept en bepaalt welke controller de aanvraag afhandelt.
  • We gaan servlet-naam ' demo ' gebruiken tijdens het maken van servlet.xml
  1. Maak demo-servlet.xml in de map 'WebContent \ WEB-INF \'
<?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 wordt gebruikt om alle controllers te scannen die zijn gedefinieerd onder 'com' pakket.

  • ViewResolver-interface Gebruik deze om de mapping tussen logische en werkelijke weergaven te beheren. Vooraf gedefinieerde implementatie van view resolver is beschikbaar om de views in kaart te brengen. Bijvoorbeeld: InternalResourceViewResolver, VelocityViewResolver.

  • Om alle jsp-pagina's te doorzoeken, hebben we het voorvoegsel gedefinieerd dat niets anders is dan de eigenschap setter, de waarde ervan is ingesteld als '/ WEB-INF / jsp /' (mappad). Achtervoegsel dat niets anders is dan de eigenschap getter, de waarde ervan is ingesteld als '.jsp' ( zoekbestand met de extensie .jsp)

  1. Vereiste bibliotheken toevoegen:

Laten we Spring Framework en gemeenschappelijke logging API-bibliotheken aan ons project toevoegen. Klik hiertoe met de rechtermuisknop op uw projectnaam DemoSpringMVCProject en volg de volgende optie in het contextmenu: Build Path -> Build Path configureren om het Java Build Path-venster als volgt weer te geven:

Gebruik nu de knop Externe JAR's toevoegen die beschikbaar is op het tabblad Bibliotheken om de volgende kern JAR's uit Spring Framework en Common Directory-installatiemappen toe te voegen:

  • commons-logging-1.1.1

  • spring-aop-4.1.6.RELEASE

  • lente-aspecten-4.1.6.RELEASE

  • lente-bonen-4.1.6.RELEASE

  • spring-context-4.1.6.RELEASE

  • spring-context-support-4.1.6.RELEASE

  • spring-core-4.1.6.RELEASE

  • spring-expressie-4.1.6.RELEASE

  • lente-instrument-4.1.6.RELEASE

  • lente-instrument-kater-4.1.6.RELEASE

  • spring-jdbc-4.1.6.RELEASE

  • veer jms-4.1.6.RELEASE

  • spring-messaging-4.1.6.RELEASE

  • spring-orm-4.1.6.RELEASE

  • veer OXM-4.1.6.RELEASE

  • spring test-4.1.6.RELEASE

  • spring-tx-4.1.6.RELEASE

  • lente-web-4.1.6.RELEASE

  • veer webmvc-4.1.6.RELEASE

  • veer webmvc-portlet-4.1.6.RELEASE

  • veer WebSocket-4.1.6.RELEASE

Laten we naar controller- en jsp-pagina's gaan:

  1. Maak een com.demo.controller- pakket onder de map src .
  2. Maak een LoginController- klasse onder het pakket com.demo.controller
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. Maak een login.jsp en welcome.jsp- pagina onder 'WebContent \ WEB-INF \ 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>
 

Voeg DemoSpringMVCProject toe aan de lokale TomTom-server en voer het uit op de server.