提交Spring表单时上下文根未出现-网址格式问题

桑布达

以下是我的contoller,web xml和jsp页面,它们使用spring形式。

控制器

@Controller
@RequestMapping(value = {"/*", "/login"})
public class HelloWorldController {

    @RequestMapping(method = RequestMethod.GET)
    public String helloWorld(final Model model) {
        model.addAttribute("bodyPage", "body.jsp");
        User user = new User();
        Address address = new Address();

        user.setAddress(address);

        model.addAttribute("myUser", user);
        System.out.println("hello world");
        return "login";
    }


    @RequestMapping(value = "/submitDetails", method = RequestMethod.POST)
    public ModelAndView submitDetais(final Object command) {

        System.out.println("inside submitDetais ");
        User user = (User) command;
        return new ModelAndView("result", "user", user);
    }
}

Web Xml

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

Jsp页面

<form:form commandName="myUser" modelAttribute="myUser" method="POST" action="submitDetails.htm" >
    <table>
        <tr>
            <td>First Name:</td>
            <td><form:input path="firstName" /></td>
        </tr>
        <tr>
            <td>Last Name:</td>
            <td><form:input path="lastName" /></td>
        </tr>

        <tr>
            <td>Address 1:</td>
            <td><form:input path="address.address1"  /></td>
        </tr>

        <tr>
            <td>Address 2:</td>
            <td><form:input path="address.address2"  /></td>
        </tr>

        <tr>
            <td colspan="2"><input type="submit" value="Save Changes" /></td>
        </tr>
    </table>
</form:form>

Dispathcher servlet仅具有视图解析器。现在,按照我在Contoller中定义的类级别url模式,如果我导航到以下url http:// localhost:9080 / ExampleSpringhttp:// localhost:9080 / ExampleSpring /

controll转到我的jsp页面并询问详细信息。输入详细信息后,如果我提交了表单,该表单的动作为action提及的action =“ submitDetails.htm”,则抛出404错误。并且地址栏中的URL将作为localhost:9080 / submitDetails.htm进入,该项目缺少项目的上下文根。我的问题是我在requehst映射URL部分中做错了什么?

根据我的理解

1.表单使用数学模式2的post提交。/submitDetails.htm与类级别url模式映射中的模式/ *匹配,因此请求应进入控制器,3.最后,控制器方法中的方法级别映射与jsp中的action amd methood具有相同的url模式amd请求方法,因此它应进入controllers方法并在控制台中进行打印---这并不容易。

有人可以帮我理解吗?

尼莱什作品

将/ *更改为/后,您的问题得以解决,因为每个URL包含两部分

1)Servlet路径

2)路径信息

考虑以下代码

<servlet-mapping>
    <servlet-name>ExactMatchServlet</servlet-name>
    <url-pattern>/abc</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>PathInfoServlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>LongPathInfoServlet</servlet-name>
    <url-pattern>/abc/*</url-pattern>
  </servlet-mapping>
</servlet-mapping>

在这里,如果您像这样调用网址

/ abc,然后它将调用ExactMatchServlet

Servlet路径-> / abc

路径信息-> null

/ abc / pqr它将调用PathInfoServlet

Servlet路径-> / abc

路径信息-> / pqr

/ something / random它将调用PathInfoServlet

Servlet路径-> null

路径信息-> / something / random

当您替换<url-pattern>/*</url-pattern>

<url-pattern>/</url-pattern>

和呼叫/事/随机

Servlet路径-> / something / random

路径信息-> null

所以基本上用/更改/ *来映射您的url部分(Servlet路径和路径信息)

对于该区域,容器找不到用于您的URL的servlet,并且显示404错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

spring paypal api上下文问题

来自分类Dev

尝试从另一个Spring应用程序配置/上下文连接时出现Spring Data Cassandra问题

来自分类Dev

在Firefox中的画布上下文对象上用SVG调用drawImage()时出现问题

来自分类Dev

从MTM 2013测试上下文检索测试配置时出现问题

来自分类Dev

React.js:更新多个组件共享的上下文API时出现问题

来自分类Dev

在Firefox中的画布上下文对象上使用SVG调用drawImage()时出现问题

来自分类Dev

从MTM 2013测试上下文检索测试配置时出现问题

来自分类Dev

Spring Boot 中的上下文初始化问题

来自分类Dev

空上下文问题

来自分类Dev

块格式化上下文根的“自动”高度(内联块)

来自分类Dev

gitlab 问题-更改上下文根后无法保存应用程序

来自分类Dev

实体框架上下文格式

来自分类Dev

从外部网址打开txt文件时出现问题

来自分类Dev

上下文中不允许内存操作数,将变量复制到数组时出现数组大小问题

来自分类Dev

用户表单时间格式问题

来自分类Dev

父子对象的对象上下文转换方法出现问题

来自分类Dev

PowerBI筛选器上下文问题

来自分类Dev

实体框架上下文问题

来自分类Dev

javascript模块模式上下文问题

来自分类Dev

soundPool.load上下文问题

来自分类Dev

XMLHttpRequest.onreadystatechange的上下文问题

来自分类Dev

ZingChart 上下文菜单样式问题

来自分类Dev

使用上下文的问题

来自分类Dev

提交单独的HTML表单时出现问题

来自分类Dev

使用Ajax提交表单数据时出现问题

来自分类Dev

验证 symfony 表单以提交 POST 请求时出现问题

来自分类Dev

Android MVP,获取剪贴板数据时同样的旧上下文问题?

来自分类Dev

Google Analytics(分析)中的规范网址出现问题

来自分类Dev

Shopify:链接列表中的网址图片出现问题

Related 相关文章

  1. 1

    spring paypal api上下文问题

  2. 2

    尝试从另一个Spring应用程序配置/上下文连接时出现Spring Data Cassandra问题

  3. 3

    在Firefox中的画布上下文对象上用SVG调用drawImage()时出现问题

  4. 4

    从MTM 2013测试上下文检索测试配置时出现问题

  5. 5

    React.js:更新多个组件共享的上下文API时出现问题

  6. 6

    在Firefox中的画布上下文对象上使用SVG调用drawImage()时出现问题

  7. 7

    从MTM 2013测试上下文检索测试配置时出现问题

  8. 8

    Spring Boot 中的上下文初始化问题

  9. 9

    空上下文问题

  10. 10

    块格式化上下文根的“自动”高度(内联块)

  11. 11

    gitlab 问题-更改上下文根后无法保存应用程序

  12. 12

    实体框架上下文格式

  13. 13

    从外部网址打开txt文件时出现问题

  14. 14

    上下文中不允许内存操作数,将变量复制到数组时出现数组大小问题

  15. 15

    用户表单时间格式问题

  16. 16

    父子对象的对象上下文转换方法出现问题

  17. 17

    PowerBI筛选器上下文问题

  18. 18

    实体框架上下文问题

  19. 19

    javascript模块模式上下文问题

  20. 20

    soundPool.load上下文问题

  21. 21

    XMLHttpRequest.onreadystatechange的上下文问题

  22. 22

    ZingChart 上下文菜单样式问题

  23. 23

    使用上下文的问题

  24. 24

    提交单独的HTML表单时出现问题

  25. 25

    使用Ajax提交表单数据时出现问题

  26. 26

    验证 symfony 表单以提交 POST 请求时出现问题

  27. 27

    Android MVP,获取剪贴板数据时同样的旧上下文问题?

  28. 28

    Google Analytics(分析)中的规范网址出现问题

  29. 29

    Shopify:链接列表中的网址图片出现问题

热门标签

归档