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

时间:2018-02-28 07:57:58

标签: java jquery maven jsp servlets

我是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>

每当我点击&#34;更新&#34;我的模态中的按钮,它应该将输入表单数据发布到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"/>

1 个答案:

答案 0 :(得分:0)

我猜你的--- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: fast provisioner: kubernetes.io/gce-pd parameters: type: pd-ssd --- apiVersion: v1 kind: Service metadata: name: mongo labels: name: mongo spec: ports: - port: 27017 targetPort: 27017 clusterIP: None selector: role: mongo --- apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: mongo spec: serviceName: "mongo" replicas: 3 template: metadata: labels: role: mongo environment: test spec: terminationGracePeriodSeconds: 10 containers: - name: mongo image: mongo:3.4.9 command: - mongod - "--replSet" - rs0 - "--smallfiles" - "--noprealloc" ports: - containerPort: 27017 volumeMounts: - name: mongo-persistent-storage mountPath: /data/db - name: mongo-sidecar image: cvallance/mongo-k8s-sidecar env: - name: MONGO_SIDECAR_POD_LABELS value: "role=mongo,environment=test" volumeClaimTemplates: - metadata: name: mongo-persistent-storage annotations: volume.beta.kubernetes.io/storage-class: "fast" spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 5Gi

中有类似的内容
dispatcher-servlet.xml

不要忘记你的jsp也是servlet,需要通过解决映射。在此示例中,仅映射 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> 下的jsp并且/WEB-INF/views文件夹不公开。

我建议您将server文件夹移到server文件夹下,然后将views替换为../server/editSupplier.jsp相对网址。