2016-10-04 62 views
0
发现HTTP请求

我试图达到我的jsp页面,由于某种原因,我得到错误信息没有映射的DispatcherServlet

Hibernate: select person0_.pid as pid1_0_, person0_.age as age2_0_, person0_.city as city3_0_, person0_.gender as gender4_0_, person0_.password as password5_0_, person0_.username as username6_0_ from person person0_ order by person0_.pid 
2016-10-04 13:49:53.090 WARN 13276 --- [nio-8080-exec-1] o.s.web.servlet.PageNotFound    : No mapping found for HTTP request with URI [/WEB-INF/view/personform.jsp] in DispatcherServlet with name 'dispatcherServlet' 
' 

enter image description here

PersonController: 

@Controller 
public class PersonController { 
@Autowired 
private IPersonService personService; 
@Autowired 
private MessageSource messageSource; 
@Autowired 
private LocaleResolver localeResolver; 
//@RequestMapping(value="personform") 
public ModelAndView user(){ 
    ModelAndView mv = new ModelAndView("personform","person",new Person()); 
    setPageData(mv.getModelMap()); 
    return mv; 
} 

Appconfig.java:

 package App.config; 

     import java.util.Locale; 
     import org.springframework.context.MessageSource; 
     import org.springframework.context.annotation.Bean; 
     import org.springframework.context.annotation.ComponentScan; 
     import org.springframework.context.annotation.Configuration; 
     import org.springframework.context.annotation.Import; 
     import org.springframework.context.support.ReloadableResourceBundleMessageSource; 
     import org.springframework.web.servlet.LocaleResolver; 
     import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
     import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 
     import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 
     import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
     import org.springframework.web.servlet.i18n.CookieLocaleResolver; 
     import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; 
     import org.springframework.web.servlet.view.InternalResourceViewResolver; 
@Configuration 
@ComponentScan("App") 
@Import(DBConfig.class) 
@EnableWebMvc 
public class AppConfig extends WebMvcConfigurerAdapter { 
    @Bean 
    public InternalResourceViewResolver viewResolver() { 
     InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setPrefix("/WEB-INF/view/"); 
     resolver.setSuffix(".jsp"); 
     return resolver; 
    } 
    @Bean 
    public MessageSource messageSource() { 
     ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); 
     messageSource.setBasename("/WEB-INF/i18/messages"); 
     messageSource.setDefaultEncoding("UTF-8"); 
     return messageSource; 
    } 
    @Bean 
    public LocaleResolver localeResolver(){ 
     CookieLocaleResolver resolver = new CookieLocaleResolver(); 
     resolver.setDefaultLocale(new Locale("en")); 
     resolver.setCookieName("myLocaleCookie"); 
     resolver.setCookieMaxAge(4800); 
     return resolver; 
    } 
    @Override 
    public void addInterceptors(InterceptorRegistry registry) { 
     LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor(); 
     interceptor.setParamName("mylocale"); 
     registry.addInterceptor(interceptor); 
    } 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/app-resources/**").addResourceLocations("/resources/"); 
    } 
} 

以防万一,如果它需要 - 的build.gradle:

group 'mbti' 
version '1.0-SNAPSHOT' 

buildscript { 
    repositories { 
     maven { url "http://repo.spring.io/libs-snapshot" } 
     mavenLocal() 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.0.1.RELEASE") 
    } 
} 

apply plugin: 'java' 
apply plugin: 'idea' 
apply plugin: 'spring-boot' 

sourceCompatibility = 1.8 

repositories { 
    mavenCentral() 
    maven { url "http://repo.spring.io/libs-snapshot" } 
} 

dependencies { 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.3.3.RELEASE' 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.3.3.RELEASE' 
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.31' 
    compile group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.1.1' 
    compile group: 'jstl', name: 'jstl', version: '1.2' 
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '1.3.3.RELEASE' 
    compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: '8.0.32' 


    testCompile group: 'junit', name: 'junit', version: '4.11' 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '1.11' 
} 
+0

什么网址是在您的浏览器,试图访问该页面? – Gimby

+0

的http://本地主机:8080 /为personForm (这里的requestmapping被注释掉了,我不能在这里编辑页面出于某种原因) –

+0

这看起来是正确的。你的web.xml中有什么? – Gimby

回答

1

在你的控制,取消对@requestMapping注释和这样设置值:
@RequestMapping(value="/personform")

您的视图解析器找不到没有上述标注@RequestMapping正确映射。

注意,WEB-INF目录下的JSP页面不能直接在浏览器中键入URI访问,你必须使用控制器或servlet(在你的情况下,控制器)来访问它。

+0

正如我上面我提到已经评论了线,但其仍不能工作。 。:( –

+0

@MihályVarga是你的应用程序中, “/” 或你有类似 “MYAPP” 如果后者,你去为localhost:8080/MyApp的/为personForm –

+0

我的AppConfig: '@覆盖 保护的String [] getServletMappings( ){ return new String [] {“/”}; }' –

相关问题