【发布时间】:2016-05-17 18:03:37
【问题描述】:
我使用 maven web 应用程序,框架 spring。
使用 Netbeans IDE 和 Tomcat 服务器。
当我在 netbeans 中运行 web 时,浏览器中的 URL 是:
http://localhost:8080/mywebsite
使用此 URL 的网站无法读取事件 servlet 映射。
当我将 URL 更改为 http://localhost:8080/mywebsite/ 时,它运行良好。
这个案例的原因是什么?为什么我的网站没有在 URL 中自动添加字符“/”?
{更新}
config.java
公共类 Config 扩展 WebMvcConfigurerAdapter {
@Bean
public UrlBasedViewResolver setupViewResolver() {
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/html/");
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
return resolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/WEB-INF/resources/*");
}
}
初始化器
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(Config.class);
ctx.setServletContext(servletContext);
ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
}
控制器
@Controller
public class MyController {
//<editor-fold defaultstate="collapsed" desc="ADMIN">
@RequestMapping(value = "/", method = RequestMethod.GET)
public String login(ModelMap map) {
return "admin/login";
}}
【问题讨论】:
-
@Abdelhak 我更新了我的问题
标签: java spring spring-mvc