Spring nie wyswietla strony

0

Witam!!!
Zaczynam zabawę z Spring i mam problem z wyświetleniem prostej stronki. Już troszkę siedze nad tym kodem i jakoś nie mogę znaleźć błędu. Przydałaby się mała pomoc. Z góry dzięki za odpowiedź.

pom.xml

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ZegarkiMaven</groupId>
  <artifactId>ZegarkiMavenWeb</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
<build>
    <plugins>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
    </plugin>
    </plugins>
</build>

  <dependencies>
  
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-beans</artifactId>
  		<version>4.3.0.RELEASE</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-context</artifactId>
  		<version>4.3.0.RELEASE</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-web</artifactId>
  		<version>4.3.0.RELEASE</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
  		<version>4.3.0.RELEASE</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-webmvc</artifactId>
  		<version>3.0.3.RELEASE</version>
  	</dependency>
  	<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
  </dependencies>
</project>

web.xml(src/main/webapp/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" 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>ZegarkiMavenWeb</display-name>
  
<servlet>
<servlet-name>dispatcher1</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

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

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher1-servlet.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>

dispatcher1-servlet.xml (src/main/webapp/WEB-INF/dispatcher1-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:mvc="http://www.springframework.org/schema/mvc"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="
 http://www.springframework.org/schema/mvc 
 http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
 http://www.springframework.org/schema/beans 
 http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
 http://www.springframework.org/schema/context 
 http://www.springframework.org/schema/context/spring-context-4.0.xsd">

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

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

</beans>

zegarek.jsp(src/main/webapp/WEB-INF/views/zegarek.jsp)

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    
   <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>
<c:forEach items="${zegarkiLista}" var="zegarek" >
<li id="zegarek_<c:out value="zegarek.marka"/>">
<div class="zegarekModel">
<c:out value="${zegarek.model}"/>
</div>
<div>
<span class="zegarekTime"><c:out value="${zegarek.rok}" />
</span>
<span class="zegarekRodzaj" >
<c:out value="${zegarek.rodzaj}" />
</span>
</div>
</li>
</c:forEach>
</body>
</html>

zegarekConfig.java(src/main/java/zegarkiConfig/zegarekConfig.java)

 package zegarkiConfig;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import zegarkiObjectClass.*;
@Controller
public class zegarekConfig {
	
	List<zegarek> zegarki;
	
	@Autowired
	public zegarekConfig() {
		
		zegarki = new ArrayList<zegarek>();
		zegarki.add(new zegarek("Rolex", "ex57", 2001, "analog"));
		zegarki.add(new zegarek("Diesel", "e557", 2011, "cyfrowy"));
		zegarki.add(new zegarek("Rolex", "k25", 2002, "analog"));
		zegarki.add(new zegarek("Rolex", "k33", 2001, "analog"));
		zegarki.add(new zegarek("Rolex", "k34", 2002, "cyfrowy"));
	}
	
	@RequestMapping(value="/zegarek", method=RequestMethod.GET) 
	public String zegarek(Model model){
		model.addAttribute("zegarkiLista", zegarki);
		return "zegarek";
	}
	
	@RequestMapping(value="/")
	public String home(Model model) {
		
		model.addAttribute("powitanie", "Witam na spring");
		return "home";
	}

}

zegarek.java(src/main/java/zegarkiObjectClass/zegarek.java)

 package zegarkiObjectClass;

public class zegarek {
private String marka;
private String model;
private int rok;
//rodzaj cyfrowy czy analogś
private String rodzaj;
public zegarek(String marka, String model, int rok, String rodzaj) {
	super();
	this.marka = marka;
	this.model = model;
	this.rok = rok;
	this.rodzaj = rodzaj;
}
public String getMarka() {
	return marka;
}
public void setMarka(String marka) {
	this.marka = marka;
}
public String getModel() {
	return model;
}
public void setModel(String model) {
	this.model = model;
}
public int getRok() {
	return rok;
}
public void setRok(int rok) {
	this.rok = rok;
}
public String getRodzaj() {
	return rodzaj;
}
public void setRodzaj(String rodzaj) {
	this.rodzaj = rodzaj;
}
}

W załączniku cały pprojekt

0

A znasz coś takiego jak spring mvc annotation driven ?
A poza tym czemu piszesz nazwy klas po polsku i czemu używasz xml-owej konfiguracji?

0

<mvc:annotation-driven /> nic nie daje dalej mam to samo
xml bo na kilku stronach(tutorial) uzywali to tym probuje
staram sie by dzialalo a polskie czy ang na poczatku to takiej duzej roznicy nie ma

0
scibi92 napisał(a):

A znasz coś takiego jak spring mvc annotation driven ?
A poza tym czemu piszesz nazwy klas po polsku i czemu używasz xml-owej konfiguracji?

Dlaczego nie powinno używać się XML-owej konfiguracji?

0

Jeśli ktoś ma jakiś działający kawałem na Maven z różnymi przejsciami na stronkach i dałby rade zip i podesłać byłbym wdzięczny. To co z neta znajduje i tak mi sie jakos rozsypuje i nie dział

0

Dałeś @Autowired na konstruktor a nic tam nie wstrzykujesz... A nazwy klas piszemy z wielkiej litery

0

http://stackoverflow.com/questions/29162278/benefits-of-javaconfig-over-xml-configurations-in-spring
Dlaczego klasy > xml
A poza tym teraz przykłady są głównie w Javie :P

0

Może być nawet config javy byleby działało. A co wezme jakiś przykład to wyskakują mi błędy. Po naprawie błędów i tak nie działa.(404 bład)
jedyny działający projekt to chyba z Groovy z ksiazki "Spring w akcji. Wydanie IV" ale to nie w maven i w ks nie za dużo mówią o Groovy

1

Tu masz działający projekt w Spring MVC:
https://github.com/DanielMichalski/spring-web-rss-channels

0

caer i bakeraw2 Dzięki za przykłady jeden działa a w drugim mam błedy ale już jakoś mogę zacząć. Jesli ktoś ma jakiś fajny tutorial o konfiguracji spring pom.xml(Dependency itp) to podeślijcie. Dzięki

0

Nie bardzo rozumiem o jaką konfiguracje ci chodzi. W dependencies dajesz biblioteki które ci potrzebne i tyle.

0

Czyli zawsze najnowsze wersje ?? Bo w niektórych tutorialach używają różnych wersjii. Raz dają 3 inny 4 a ktoś jeszcze pomiesza 3 i 4 plus jakies pluginy. A w książce i kilku tutorialach to pomineli troche

1
  1. Wejdź na https://mvnrepository.com/
  2. Wpisz nazwę szukanego projektu
  3. Wybierz najnowszą wersję
  4. ???
  5. Profit
0

@Dawiid jeśli nie wiesz którą to bierz najnowszą. Starszych używa się kiedy jest konkretna potrzeba.

0

Starszych się używa bo wtedy były najnowsze

0

@scibi92 nie zawsze. Czasem trzeba użyć starszej bo nowa czegoś nie wspiera a musisz się zintegrować z jakimś zewnętrznym systemem. Ale generalnie jeśli nie wiadomo to lepiej wrzucić nowszą wersje.

0

Tak głównie dodaje przez stronke lub od razu w pom. Myślalem że może cos z dependency mam zle ale jak ma byc najnowsze to odpada to.'

Udało mi się odpalić raz na Dynamic Web module 2.4. (zrobiłem kopie i kopia działa) Nastepnie prawym build projekt i przestało omg. Za 2 razem 1 requesta dodatkowo dałem i tez padl. Dziwne to

0

Czego należy używać zamiast .xml-owej konfiguracji?

0

Javowej?
Generalnie najlepiej do swoich klas najlepiej używać komponentów a do reszty klas konfiguracyjnych Javy

1 użytkowników online, w tym zalogowanych: 0, gości: 1