gpt4 book ai didi

java spring URL映射

转载 作者:行者123 更新时间:2023-12-01 10:27:56 24 4
gpt4 key购买 nike

我使用maven Web应用程序,框架spring。

使用 Netbeans IDE 和 Tomcat 服务器。

当我在netbeans中运行web时,浏览器中的URL是:

http://localhost:8080/mywebsite

使用此 URL 的网站无法读取事件 Servlet 映射。

当我将 URL 更改为 http://localhost:8080/mywebsite/ 时然后运行良好。

此案的原因是什么?为什么我的网站不自动在网址中添加字符“/”?

{更新}

配置.java

公共(public)类 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

@Controller
public class MyController {

//<editor-fold defaultstate="collapsed" desc="ADMIN">
@RequestMapping(value = "/", method = RequestMethod.GET)
public String login(ModelMap map) {
return "admin/login";
}}

最佳答案

如果您打开http://localhost:8080/mywebsite ,网络应用程序将尝试查找一些 index.html文件(基于tomcat或http服务器配置)。

你的映射是@RequestMapping(value = "/", method = RequestMethod.GET) ,因此它将适用于 http://localhost:8080/mywebsite/ 。如果你想用你的 Controller 来处理http://localhost:8080/mywebsite ,您可以尝试使用*在你的映射值中。这意味着,对于任何请求,如果没有定义特定映射,则将应用默认映射。

关于java spring URL映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35263492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com