Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC без xml, не работает пример... / 13 сообщений из 13, страница 1 из 1
25.08.2017, 09:27
    #39510239
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
Здравствуйте!
Вот здесь на хабре взял пример и начал делать.
Создал в Eclipse веб предложение через мавен, добавил пакеты и нужные файлы, всё как в примере, но.

Вместо:
Message : Spring 3 MVC - Hello World

Я получаю:
Message : ${message}

Устал уже гуглить, где-то предлагается добавить в jsp теги(что я и сделал, в этом отличие от примера по ссылке), где-то точно такие же примеры.. не понимаю, что не так со мной ))) Может кто увидит проблему... Спасибо.

AppInit.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
package com.foo.common.config;

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class AppInit extends AbstractAnnotationConfigDispatcherServletInitializer {

	@Override
	protected Class<?>[] getRootConfigClasses() {
		return new Class<?>[] { WebConfig.class };
	}

	@Override
	protected Class<?>[] getServletConfigClasses() {
		return new Class<?>[] { WebConfig.class };
	}

	@Override
	protected String[] getServletMappings() {
		return new String[] { "/" };
	}

}


WebConfig.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
package com.foo.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

@Configuration
@EnableWebMvc
@ComponentScan("com.foo.common")
public class WebConfig extends WebMvcConfigurerAdapter {

	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler("/WEB-INF/pages/**").addResourceLocations("/pages/");
	}

	@Bean
	public InternalResourceViewResolver setupViewResolver() {
		InternalResourceViewResolver resolver = new InternalResourceViewResolver();
		resolver.setPrefix("/WEB-INF/pages/");
		resolver.setSuffix(".jsp");
		resolver.setViewClass(JstlView.class);

		return resolver;
	}

}


HelloController.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
package com.foo.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping()
public class HelloController {

	@RequestMapping(method = RequestMethod.GET)
	public String printWelcome(ModelMap model) {

		model.addAttribute("message", "Spring 4 MVC - Hello World");
		return "hello";

	}
}


hello.jsp
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Hello Spring MVC</title>
</head>
<body>
    <h2>
        <c:out value="${message}" />
    </h2>
</body>
</html>


pom.xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.foo</groupId>
	<artifactId>TestApp</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>TestApp Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<properties>
		<spring.version>4.3.9.RELEASE</spring.version>
		<failOnMissingWebXml>false</failOnMissingWebXml>
	</properties>

	<dependencies>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
		</dependency>

		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

	</dependencies>
	<build>
		<finalName>TestApp</finalName>
	</build>
</project>

...
Рейтинг: 0 / 0
25.08.2017, 09:29
    #39510242
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
опечатался с Spring 4 MVC - Hello World, ну не суть) уже весь код по 10 раз перелопатил)
...
Рейтинг: 0 / 0
25.08.2017, 09:40
    #39510244
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
AppInit какой-то бестолковый и бесполезный класс.
В вашем JSP нет "Message:". Как вы его получаете?
...
Рейтинг: 0 / 0
25.08.2017, 09:46
    #39510249
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
BlazkowiczAppInit какой-то бестолковый и бесполезный класс.
В вашем JSP нет "Message:". Как вы его получаете?
В примере говорится следующее:
Теперь нужно зарегистрировать конфигурацию в Spring Context это нам позволит сделать наш класс AppInit:
ну и его листинг приведен.

По поводу jsp, в оригинале:
Теперь создадим простую jsp страницу index.jsp:
Код: html
1.
2.
3.
4.
5.
<html>
<body>
	<h1>Message : ${message}</h1>	
</body>
</html>



Но на скриншотах в статье уже видно, что index.jsp переименован был в hello.jsp

Вместо:
Message : ${message}

По идее должен быть:
Message : Spring 3 MVC - Hello World

Это если строго по статье.
Я вот и думаю, что не так-то с этой статьей или с уже моим кодом...
...
Рейтинг: 0 / 0
25.08.2017, 09:50
    #39510254
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
А может попробовать взять отсюда пример webConfig.java?
http://javastudy.ru/spring-mvc/java-config-web-xml/
там вроде как регистрируется DispatcherServlet... я в общем только вникаю во все эти тонкости настройки, еще не разобрался, что к чему...
...
Рейтинг: 0 / 0
25.08.2017, 09:53
    #39510257
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
Nixic,

Я предлагаю не трахать мозг устаревшим материалом. Весь этот бойлерплейт код в виде диспатчеров, AppInit и прочей фигни не нужен. В актуальных версиях Spring всё находит сам.
А если нужен Hello World, то Spring Boot вам в руки
https://projects.spring.io/spring-boot/#quick-start
...
Рейтинг: 0 / 0
25.08.2017, 10:07
    #39510266
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
BlazkowiczNixic,

Я предлагаю не трахать мозг устаревшим материалом. Весь этот бойлерплейт код в виде диспатчеров, AppInit и прочей фигни не нужен. В актуальных версиях Spring всё находит сам.
А если нужен Hello World, то Spring Boot вам в руки
https://projects.spring.io/spring-boot/#quick-start
Ну если углубляться, то мне кинули тестовой задание, с тем учетом, что я не работал со спрингом вообще, дали время разобраться самому, в частности указано, что нужно использовать Spring MVC, вот я и fuckbrain'юсь )))
При этом добавить туда Ext JS код. С ним более менее всё стало понятно, а как вот эти две вещи объединить...
У меня есть другой проектик тестовый, где "всё работает" казалось бы, но часть с ExtJs, не видит часть со спрингом, если так можно выразиться. То есть захардкоденый и заполненный в статическом блоке в джава ArrayList никак не попадает в *.js файл в виде store.
Чот меня понесло )))
В общем получается, что я хотел сделать сначала рабочий пример Spring MVC, а затем в папку webapp добавить компоненты от extJS и прочее, но чую вообще фигня какая-то получается...
Из SpringBoot легко ли сделать Sping MVC, путем добавления каких-нибудь классов и прочее ? Или это вообще некорректный вопрос?
...
Рейтинг: 0 / 0
25.08.2017, 10:11
    #39510268
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
я даже нашел рабочий пример этой связки Spring MVC + ExtJS на джитхабе. Правда там всё на португальском и с добавлены конфиги для работы с hibernate, правда в виде пустого метода, типа сами пишите. Ну я вместо него попробовал подставить свой массив, но он так же не попадал в js часть... Так и живем...
...
Рейтинг: 0 / 0
25.08.2017, 10:18
    #39510274
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
Nixicс тем учетом, что я не работал со спрингом вообще
Очень слабое оправдание.

NixicПри этом добавить туда Ext JS код. С ним более менее всё стало понятно, а как вот эти две вещи объединить...

Тогда вообще не понятно желание прикрутить JSP hello world. Для Ext JS нужен REST сервис - контроллер, который возвращает объект. А Spring его в JSON уже конвертнент. Это ещё проще чем JSP View с которым вы бодаетесь.

NixicИз SpringBoot легко ли сделать Sping MVC, путем добавления каких-нибудь классов и прочее ? Или это вообще некорректный вопрос?
Там всё очень легко. Открываешь генератор
https://start.spring.io/
Выбираешь нужные компоненты
Получаешь рабочую заготовку для проекта.
Потом просто наполняешь своим кодом.
...
Рейтинг: 0 / 0
25.08.2017, 10:27
    #39510285
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
Blazkowicz Для Ext JS нужен REST сервис - контроллер, который возвращает объект. А Spring его в JSON уже конвертнент.
Ну когда со спрингом работал, то эта фраза что-то да скажет)) Я же сейчас еще пару дней на её понимание потрачу :))
Спасибо, буду разбираться.

Но все же непонятно, почему ж не работает пример, ну да ладно.
...
Рейтинг: 0 / 0
25.08.2017, 10:33
    #39510295
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
По какому URL видно "Message : ${message}"? Наверное, когда JSP напрямую открывается.
Надо открывать по URL контроллера. Правда, по коду не понятно на какой URL замаплен HelloController.
...
Рейтинг: 0 / 0
25.08.2017, 10:33
    #39510296
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
NixicНу когда со спрингом работал, то эта фраза что-то да скажет))
Spring тут не при чем. Это стандарт разработки современных вэб приложений.
...
Рейтинг: 0 / 0
25.08.2017, 10:40
    #39510298
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring MVC без xml, не работает пример...
Вот почему так всегда!!!??? Сидишь весь вечер до ночи, о 2-х, до 3-х, ковыряешься в коде, нифига не работает!
Наутро выдаешь всё это в форум, и на тебе, все заработало!
Пздц какой-то, как так-то а... . Ну неужто надо было перезагрузить ноут просто... или эклипс фигней занимается.
Сейчас работает и очень короткий код из ссылки в самом начале в jsp и мой переколбашенный пример с доп.тегами и прочей лабудой.

По поводу урла по которому выдается сообщение:
http://localhost:8080/TestApp/

В контроллере указано:
model.addAttribute("message", "Spring 4 MVC - Hello World");
return "hello";
вот он и тащит всё из hello.jsp

@RequestMapping() у меня пустой, поэтому с такой ссылки и открывается, с начальной, так сказать.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC без xml, не работает пример... / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]