小编mag*_*lko的帖子

URL映射问题 - Spring Web MVC

我是Spring和web MVC模块的新手.基本上,我有以下几点:

web.xml中

<servlet>
    <servlet-name>abc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>abc-dispatcher</servlet-name>
    <url-pattern>/user/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

ABC-调度-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:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">


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


<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/pages/"></property>
    <property name="suffix" value=".jsp"></property>        
</bean>
Run Code Online (Sandbox Code Playgroud)

我有一个控制器,相关的部分是:

@Controller
public class ABCController {

@RequestMapping("/user/welcome")
public String printWelcome(ModelMap model) {

    //code

}
Run Code Online (Sandbox Code Playgroud)

现在每当我尝试访问 http://localhost:8080/myapp/user/welcome

它给了我404.

日志说"映射url'/ user/welcome'到处理程序'ABCController'但是它无法在DispatcherServlet中映射名为'abc-dispatcher'的URI [/ MYAPP/user/welcome].

完全糊涂了.我已经检查了两次指定映射的所有线程,但这不是这里的情况.我肯定错过了什么!

谢谢您的帮助!

spring

15
推荐指数
2
解决办法
3万
查看次数

应用程序上下文被加载两次 - Spring Boot

我有一个相当简单的设置.一个包含3个模块的maven项目:core/webapp/model.我正在使用Spring启动来设置我的应用程序.在webapp中,我有一个简单的类WebappConfig,如下所示:

@Configuration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = @ComponentScan.Filter(Configuration.class))
public class WebappConfig {

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(WebappConfig.class);
        app.setAdditionalProfiles("dev");
        app.run(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

核心/模型模块中的几个类.我的容器应用点是:

public class AbcdXml extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(WebappConfig.class);
    }

}
Run Code Online (Sandbox Code Playgroud)

而且没有web.xml!我的模型的pom具有以下与spring boot相关的依赖关系:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

Core的pom.xml:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-batch</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)

现在通过运行运行WebappConfig - > Java应用程序运行完美,但我需要将项目部署为tomcat7上的战争.Webapp的包装是战争.除了tomcat-jdbc和tomcat-tuli jar之外,lib中没有tomcat提供的jar(应该不是问题吗?).

当我部署我的abcd.war时,applicationcontext被加载两次并导致跟随错误stracktrace:

2014-06-27 11:06:08.445  INFO 23467 --- [ost-startStop-1] o.a.c.c.C.[.[localhost].[/abcd] …
Run Code Online (Sandbox Code Playgroud)

spring tomcat spring-boot

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

spring ×2

spring-boot ×1

tomcat ×1