+ Antworten
Ergebnis 1 bis 2 von 2

Thema: RequestMapping arbeitet nicht wie erwartet

  1. #1
    User int Themenstarter

    Registriert seit
    09.09.2013
    Ort
    Syke
    Fachbeiträge
    34
    Genannt
    3 Post(s)
    Hallo,

    Ich bin bei meinem Spring Projekt mal wieder auf ein Problem gestoßen, ich habe einen Controller, der 3 verschiedene RequestMappings verarbeiten soll, das erste funktioniert einwandfrei, die anderen leider nicht. Im Internet habe ich jetzt schon geschaut, aber leider nichts brauchbares gefunden. Aktuell sieht mein Controller so aus:
    Java Code:
    1. import java.util.ArrayList;
    2. import java.util.List;
    3.  
    4. import org.springframework.stereotype.Controller;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.servlet.ModelAndView;
    7.  
    8. import de.springproj.objects.Scanner;
    9.  
    10. @Controller
    11. @RequestMapping("/infos/*")
    12. public class ScanViewController {
    13.  
    14.     @RequestMapping("scanner")
    15.     public ModelAndView getScanner() {
    16.         ModelAndView mav = new ModelAndView("scanner");
    17.         List<Scanner> scannerList = new ArrayList<Scanner>();
    18.         scannerList.add(new Scanner("Scanner1", "192.168.1.2"));
    19.         scannerList.add(new Scanner("Scanner2", "192.168.1.3"));
    20.         scannerList.add(new Scanner("Scanner3", "192.168.1.4"));
    21.         scannerList.add(new Scanner("Scanner4", "192.168.1.5"));
    22.         mav.addObject(scannerList);
    23.         return mav;
    24.     }
    25.    
    26.     @RequestMapping("mas")
    27.     public ModelAndView getMas() {
    28.         ModelAndView mav = new ModelAndView("mas");
    29.         return mav;
    30.     }
    31.    
    32.     @RequestMapping("sas")
    33.     public ModelAndView getSas() {
    34.         ModelAndView mav = new ModelAndView("sas");
    35.         return mav;
    36.     }
    37.    
    38. }

    Edit:
    Falls sich einer wundert, warum ich neue Ojekte anlege, nur um sie zurück zu geben, diese Objekte werden später mit Daten gefüllt, sind also erst mal nur so erzeugt worden, die Füllung kommt später

    Die web.xml:
    XML Code:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2.  
    3. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    4.   <display-name>SpringProj</display-name>
    5.   <welcome-file-list>
    6.     <welcome-file>index.jsp</welcome-file>
    7.   </welcome-file-list>
    8.  
    9.      <servlet>
    10.         <servlet-name>springproj</servlet-name>
    11.         <servlet-class>
    12.             org.springframework.web.servlet.DispatcherServlet
    13.         </servlet-class>
    14.         <load-on-startup>1</load-on-startup>
    15.     </servlet>
    16.     <servlet-mapping>
    17.         <servlet-name>springproj</servlet-name>
    18.         <url-pattern>/welcome.jsp</url-pattern>
    19.         <url-pattern>/welcome.html</url-pattern>
    20.         <url-pattern>*.html</url-pattern>
    21.     </servlet-mapping>
    22.     <servlet-mapping>
    23.         <servlet-name>springproj</servlet-name>
    24.         <url-pattern>*</url-pattern> <!-- Hier habe ich auch schon /infos/* versucht -->
    25.     </servlet-mapping>
    26.  
    27.     <context-param>
    28.         <param-name>contextConfigLocation</param-name>
    29.         <param-value>
    30.             /WEB-INF/applicationContext.xml
    31.         </param-value>
    32.     </context-param>
    33.  
    34.     <!-- The Bootstrap listener to start up and shut down Spring's root WebApplicationContext.
    35.         It is registered to Servlet Container -->
    36.     <listener>
    37.         <listener-class>
    38.             org.springframework.web.context.ContextLoaderListener
    39.         </listener-class>
    40.     </listener>
    41.  
    42.     <listener>
    43.         <listener-class>
    44.             org.springframework.web.context.request.RequestContextListener
    45.         </listener-class>
    46.     </listener>
    47.  
    48. </web-app>

    Und mein springproj-servlet.xml hat folgenden Inhalt:
    XML Code:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2.  
    3. <beans xmlns="http://www.springframework.org/schema/beans"
    4.     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
    5.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    6.     xsi:schemaLocation="
    7.        http://www.springframework.org/schema/beans    
    8.        http://www.springframework.org/schema/beans/spring-beans.xsd
    9.        http://www.springframework.org/schema/mvc
    10.        http://www.springframework.org/schema/mvc/spring-mvc.xsd
    11.        http://www.springframework.org/schema/context
    12.        http://www.springframework.org/schema/context/spring-context.xsd">
    13.  
    14.     <context:component-scan base-package="de.springproj.controller" />
    15.  
    16.     <bean id="viewResolver"
    17.         class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    18.         <property name="viewClass"
    19.             value="org.springframework.web.servlet.view.JstlView" />
    20.         <property name="prefix" value="/WEB-INF/jsp/" />
    21.         <property name="suffix" value=".jsp" />
    22.     </bean>
    23.  
    24. </beans>

    Wenn ich jetzt im Browser http://localhost:8080/SpringProj/ aufrufe, oder auch http://localhost:8080/SpringProj/infos/scanner.html, funktioniert alles wunderbar, versuche ich aber am Ende mas.html oder sas.html, bekomme ich nur eine Seite mit "Not Found" und im Tracelog
    Code:
    14:28:56,138 WARN  [org.springframework.web.servlet.PageNotFound] (default task-31) No mapping found for HTTP request with URI [/SpringProj/infos/mas.html] in DispatcherServlet with name 'springproj'
    Hat da vielleicht einer eine Idee?
    Geändert von Gossi (11.01.2017 um 14:42 Uhr)

  2. #2
    User int Themenstarter

    Registriert seit
    09.09.2013
    Ort
    Syke
    Fachbeiträge
    34
    Genannt
    3 Post(s)
    Hmm, da ich meinen Beitrag scheinbar nicht mehr editieren kann:

    Ich habe das Problem jetzt umgangen, indem ich einfach für jede Seite einen neuen Controller mache. Ist zwar leider nicht das was ich wollte, aber so funktioniert es

+ Antworten Thema als "gelöst" markieren

Direkt antworten Direkt antworten

Die chemische Formel von Wasser lautet ... ?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. (Algorithmen) SlowSort arbeitet nicht
    Von FranzFerdinand im Forum Allgemeine Themen
    Antworten: 6
    Letzter Beitrag: 04.04.2016, 14:06
  2. toString einer Klasse liefert nicht das was erwartet wird.
    Von ZickZack im Forum Java-Grundlagen
    Antworten: 18
    Letzter Beitrag: 11.03.2015, 17:48
  3. GridBagLayout skaliert nicht wie erwartet
    Von HighlandGamer64 im Forum AWT, Swing, JavaFX & SWT
    Antworten: 3
    Letzter Beitrag: 11.01.2014, 23:05
  4. KeyListener arbeitet nicht mehr
    Von DVDB im Forum Spiele- und Multimedia-Programmierung
    Antworten: 15
    Letzter Beitrag: 13.11.2013, 23:08
  5. "Open-Source-Rechnungsprogramm arbeitet kostenlos"
    Von L-ectron-X im Forum Software
    Antworten: 0
    Letzter Beitrag: 09.01.2009, 15:20

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •