发布到maven Web项目中的JSP文件时出现404 Not Found错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发布到maven Web项目中的JSP文件时出现404 Not Found错误相关的知识,希望对你有一定的参考价值。

我是Java的新手。我正在使用maven Web应用程序,似乎无法将数据从我的索引文件POST到另一个JSP文件。当我在Java Web应用程序中模仿它时,它似乎工作正常。我正在使用NetBeans。

以下是我的文件排列方式:

File Arrangement Snip

这是index.jsp中的jQuery代码:

$("#edit-save-btn").on('click', function () {
        $.post('/editSupplier', $("#supplier-info-edit").serialize(), function (res) {
            console.log(res);
            var $id = $("#editSupplierId").val();
            $row = $("demo-id [data-id=" + $id + "]");
            $row.find('input[data-title=name]').html($("#name").val());
            $row.find('input[data-title=contact]').html($("#contact").val());
            $row.find('input[data-title=email]').html($("#email").val());
            $row.find('input[data-title=status]').html($("#status").val());
            $("#edit").modal('hide');
        });
    });

这是我在editSupplier.jsp(目标)中编写的内容:

if (request.getMethod().equalsIgnoreCase("post")) {
    SupplierDAO SupplierDAO = new SupplierDAOImpl();
    Supplier supplier = new Supplier();
    supplier.setName(request.getParameter("sname"));
    supplier.setContact(request.getParameter("scontact"));
    supplier.setEmail(request.getParameter("semail"));
    supplier.setStatus(request.getParameter("sstatus") != null);
    String id = request.getParameter("sid");
    supplier.setId(Integer.parseInt(id));
    SupplierDAO.update(supplier);
    response.sendRedirect("/index");
}

在我的web.xml文件中:

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

每当我点击我的模态中的“更新”按钮时,它应该将输入表单数据发布到editSupplier.jsp,然后将我重定向到index.jsp,但我明白了:Error Snip

请帮忙,我一直在拔头发。

编辑:我在我的dispatcher-servlet.xml文件中有这个:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/views/" p:suffix=".jsp"/>
答案

我想你的dispatcher-servlet.xml中有这样的东西:

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

不要忘记你的jsp也是servlet,需要通过解析映射。在此示例中,仅映射/WEB-INF/views下的jsp并且server文件夹不是公共的。

我建议你将你的server文件夹移动到views文件夹下,然后用../server/editSupplier.jsp相对url替换你的server/editSupplier.jsp

以上是关于发布到maven Web项目中的JSP文件时出现404 Not Found错误的主要内容,如果未能解决你的问题,请参考以下文章

eclipse导入项目时出现

maven项目无法解析jsp文件

解决 Maven项目进行编译( mvn compile )时出现的错误

构建项目时出现错误,无法执行目标 org.apache.maven.plugins:maven-javadoc-plugin:2.10.4:jar (attach-javadocs)

在idea中,创建Maven工程后,写Java项目,测试时出现错误,怎么解决?

从 Eclipse 3.5 在 Tomcat 6 上运行 Spring + Maven2 项目时出现 ClassNotFoundException