2015-04-30 4 views
1

Я создал веб-проект Maven ProjectSpring MVC с Maven

добавил зависимостей Maven через porm.xml создал servelet-config.xml в папке WEB-INF/конфигурации с использованием Spring Bean конфигурации Xml файл создал папку SRC \ main \ java и в этой папке создан класс HelloController. Теперь, когда я использую аннотацию @Controller в моем классе HelloController, она не может быть решена. Я не знаю , когда я использую в своей servelet-config.xml он говорит:

Настраивает аннотации управляемых Spring MVC контроллер программирование модели. Обратите внимание, что этот тег работает только в Web MVC, а не в Portlet MVC!

Я следую .... https://www.youtube.com/watch?v=9MdnvleI6-8

Мой создатель web.xml является:

`<!DOCTYPE web-app PUBLIC 
 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 
 

 
<web-app> 
 
    <display-name>Archetype Created Web Application</display-name> 
 
     
 
    
 
    <!-- The front controller of this Spring Web application, responsible for handling all application requests --> 
 
\t <servlet> 
 
\t \t <servlet-name>springDispatcherServlet</servlet-name> 
 
\t \t <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
 
\t \t <init-param> 
 
\t \t \t <param-name>contextConfigLocation</param-name> 
 
\t \t \t <param-value>/WEB-INF/config/servlet-config.xml</param-value> 
 
\t \t </init-param> 
 
\t \t <load-on-startup>1</load-on-startup> 
 
\t </servlet> 
 

 
\t <!-- Map all requests to the DispatcherServlet for handling --> 
 
\t <servlet-mapping> 
 
\t \t <servlet-name>springDispatcherServlet</servlet-name> 
 
\t \t <url-pattern>*jsp</url-pattern> 
 
\t </servlet-mapping> 
 
\t 
 
</web-app> 
 
`

мой porm.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/maven-v4_0_0.xsd"> 
 
    <modelVersion>4.0.0</modelVersion> 
 
    <groupId>com.sat</groupId> 
 
    <artifactId>SpringMVC5</artifactId> 
 
    <packaging>war</packaging> 
 
    <version>0.0.1-SNAPSHOT</version> 
 
    <name>SpringMVC5 Maven Webapp</name> 
 
    <url>http://maven.apache.org</url> 
 
    <dependencies> 
 
    <dependency> 
 
     <groupId>junit</groupId> 
 
     <artifactId>junit</artifactId> 
 
     <version>3.8.1</version> 
 
     <scope>test</scope> 
 
    </dependency> 
 
    <dependency> 
 
    \t <groupId>springframework</groupId> 
 
    \t <artifactId>spring-beans</artifactId> 
 
    \t <version>1.2.6</version> 
 
    </dependency> 
 
    <dependency> 
 
    \t <groupId>springframework</groupId> 
 
    \t <artifactId>spring-webmvc</artifactId> 
 
    \t <version>1.2.6</version> 
 
    </dependency> 
 
    <dependency> 
 
    \t <groupId>springframework</groupId> 
 
    \t <artifactId>spring-core</artifactId> 
 
    \t <version>1.2.6</version> 
 
    </dependency> 
 
    <dependency> 
 
    \t <groupId>springframework</groupId> 
 
    \t <artifactId>spring-context</artifactId> 
 
    \t <version>1.2.6</version> 
 
    </dependency> 
 
    </dependencies> 
 
    <build> 
 
    <finalName>SpringMVC5</finalName> 
 
    </build> 
 
</project>

мой сервлет-конфигурации является:

<?xml version="1.0" encoding="UTF-8"?> 
 
<beans xmlns="http://www.springframework.org/schema/beans" 
 
\t xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
\t xmlns:context="http://www.springframework.org/schema/context" 
 
\t xmlns:jee="http://www.springframework.org/schema/jee" 
 
\t xmlns:mvc="http://www.springframework.org/schema/mvc" 
 
\t xmlns:tx="http://www.springframework.org/schema/tx" 
 
\t xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
 
\t \t http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd 
 
\t \t http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsd 
 
\t \t http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd 
 
\t \t http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"> 
 

 

 
<mvc:annotation-driven/> 
 
<context:component-scan base-package="com.sat.controllers"></context:component-scan> 
 

 

 

 
</beans>

мой класс контроллера:

package com.sat.controllers; 
 

 
import javax.annotation.Resource; 
 

 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
 

 

 

 
@EnableWebMvc 
 
@Controller 
 

 
public class HelloController { 
 
\t 
 
\t 
 

 
}

Что я делаю неправильно? Пожалуйста, помогите ...

ответ

1

Ваш pom.xml указывает Spring 1.2.x - это чрезвычайно старая версия и, конечно же, не поддерживает каких-либо аннотаций - где вы получили этот фрагмент POM?

Весна до 4.1.x, вы должны использовать это, если хотите учиться.

+1

Точно, весна начала аннотационную поддержку от 2,5 на подопечных. – Bala

+0

@ skaffman, можете ли вы ответить на мой пост - http://stackoverflow.com/questions/30357979/when-to-use-request-session-application-scope-in-spring – user3181365

0

Ваша весенняя версия очень старая. Исследуйте последнюю функцию Spring Framework - Maven BOM. Он будет импортировать все dependecies (прямой & переходный) в ваш проект и сохранить вам головную боль.

Смежные вопросы