当前位置: 首页 > 知识库问答 >
问题:

spring MVC,tomcat url 404错误

洪楷
2023-03-14

我对spring MVC/Tomcat有问题,更具体地说,当我试图执行以下Url时:http://localhost:8080/helloweb/index.html

警告:在名为“HelloWeb”的DispatcherServlet中找不到URI为[/HelloWeb/index.html]的HTTP请求的映射

helloweb-servlet.xml:

<context:component-scan base-package="pl.solsoft.web"/>

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/pages"/>
        </bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="cache" value="true"/>
    <property name="prefix" value=""/>
    <property name="suffix" value=".ftl"/>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/"/>
    <property name="suffix" value=".jsp"/>
</bean>

null

StudentController:

@Controller
public class StudentController{
private static List<User> userList=new ArrayList<User>();
static {
    userList.add(new User("Bill", "Gates"));
    userList.add(new User("Kasia", "K"));
}
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index (@ModelAttribute("model") ModelMap model){
    model.addAttribute("userList", userList);
    return "index";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(@ModelAttribute("user") User user){
    if (null != user && null != user.getName()
            && null != user.getLastName() && !user.getName().isEmpty()
            && !user.getLastName().isEmpty()) {
        synchronized (userList) {
            userList.add(user);
        }
    }
    return "redirect:index.html";
}
}

web.xml:

<display-name>HW</display-name>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>HelloWeb</servlet-name>
    <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>HelloWeb</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

null

感谢您提供的所有提示

共有2个答案

曹恩
2023-03-14

在web.xml中,您已经将DispatcherServlet映射为处理与*.html匹配的请求。但您的StudentController未映射为处理此类请求。

修改@RequestMapping中的值以包含.html扩展名。

@RequestMapping(value = "/index.html", method = RequestMethod.GET)
public String index (@ModelAttribute("model") ModelMap model){
   ......
   return "index";
}

@RequestMapping(value = "/add.html", method = RequestMethod.POST)
public String add(@ModelAttribute("user") User user){
   .....
   return "redirect:index.html";
}

现在尝试访问您的页面,方法是:http://localhost:8080/helloweb/index.html

-------编辑-----------------------------

验证控制器正在由spring初始化。为此,创建一个无参数构造函数,并尝试将一些内容打印到控制台。

@Controller
public class StudentController{

       public StudentController(){
              System.out.println("Hey, I'm in StudentController");
       }

}
姜天宇
2023-03-14

如果您将.html添加到RequestMappings中,例如@requestmapping(value=“/index.html”)

 类似资料:
  • 无论我尝试什么,发送给dispatcher servlet的请求都会返回HTTP 415错误。请求中将内容类型设置为application/json。 消息转换器似乎没有将请求映射到对象。 我的POM中有所有Jackson依赖项: 控制器类: 我试图在@刚需映射中添加接受、消费、生产,但没有成功。 我可以使用HttpServletRequest作为方法参数获得正确的JSON响应: 这一个在写入系统

  • 我在向spring mvc控制器发送请求时遇到了一些问题。我有实体: 我收到一个HTTP/1.1400错误请求: 我做错了什么?

  • 本文向大家介绍springmvc json类型转换错误解决方案,包括了springmvc json类型转换错误解决方案的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了springmvc json类型转换错误解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在用springmvc做json数据时,返回时,提示类型转换错误 如下,

  • 这是我在SpringMVC中使用Maven的第一个应用程序。下面是应用程序结构。 控制器代码: 当我点击index.jsp中的链接时,页面应该被遍历到helloworld.jsp

  • 我是Spring MVC的新手。在尝试基本程序时,我面临404错误页面。 Web.xml myDemoApp servletConfid。xml 控制器类 JSP页面 使用的URL: http://localhost/8050/springMVCDemo/getQuote.html 文件夹结构:[在此输入图像描述][1] 请告诉我这个错误的解决方法。

  • 龙果开源-后台管理系统 项目介绍 框架完全是基于Spring IO platform,绝对拥抱Spring,版本的依赖关系再不用担心。 前端基于 龙果开源-后台管理UI Roncoo AdminLTE,高端大气上档次。 实现了邮件发送功能,邮件增删改查功能 代码自动生成工具使用了龙果开源-Mybatis代码自动生成工具 项目愿景 根据实际项目的需求,实现一个适合由单应用扩展到多应用的架构。在项目的

  • 本文向大家介绍解决SpringMVC使用@RequestBody注解报400错误的问题,包括了解决SpringMVC使用@RequestBody注解报400错误的问题的使用技巧和注意事项,需要的朋友参考一下 一般使用@RequestBody接收的时候报400都是传入的json字符串和对应封装的对象不对应造成的 首先要注意 封装的对象中的字段类型有没有Date类型或者int等类型的,如果有的话,在s

  • 主要内容:1 XML配置方式,2 注解方式如果你使用 Spring MVC 来构建 Web 应用并对性能有较高的要求的话,可以使用 Fastjson 提供的FastJsonHttpMessageConverter 来替换 Spring MVC 默认的 HttpMessageConverter 以提高 @RestController @ResponseBody @RequestBody 注解的 JSON序列化速度。下面是配置方式,非常简单。