404报错

404报错

http://img1.sycdn.imooc.com//climg/5c7fd0a800013e9710030365.jpg

http://img1.sycdn.imooc.com//climg/5c7fd0b500011cf212100610.jpg

点导入之后出现404报错。

以下是代码:

ImportExcelInitServlet.java:

package org.imooc.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class ImportExcelInitServlet extends HttpServlet {
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       this.doPost(req, resp);
   }

   @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       req.getRequestDispatcher("/WEB-INF/jsp/importExcel.jsp").forward(req,resp);
   }
}

importExcelServlet.java:

package org.imooc.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;



public class ImportExcelServlet extends HttpServlet {
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       this.doPost(req, resp);
   }

   @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       if(ServletFileUpload.isMultipartContent(req)) {
           ServletFileUpload upload=new ServletFileUpload(new DiskFileItemFactory());
           upload.setHeaderEncoding("UTF-8");
           try {
               List<FileItem> fileItemList= upload.parseRequest(req);
               for(FileItem fileItem:fileItemList){
                   if(fileItem.isFormField()){
                       System.out.println(fileItem.getFieldName()+","+fileItem.getString("UTF-8"));
                   } else {
                       System.out.println(fileItem.getFieldName());
                       fileItem.write(new File("/Users/wanghe222530qq.com/Desktop"+fileItem.getName()));
                   }
               }
           }catch(FileUploadException e){
               e.printStackTrace();
           } catch (Exception e) {
               e.printStackTrace();
           }
       }else{
           //req.getParameter("");
       }
       req.getRequestDispatcher("/WEB-INF/jsp/importExcel.jsp").forward(req,resp);
   }
}

indexServlet.java:

package org.imooc.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class IndexServlet extends HttpServlet {
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       this.doPost(req, resp);
   }

   @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       req.getRequestDispatcher("WEB-INF/jsp/importExcel.jsp").forward(req, resp);
   }
}

importExcel.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE"/>
     <title></title>
     <link rel="stylesheet" type="text/css" href="css/all.css"/>
     <link rel="stylesheet" type="text/css" href="css/pop.css"/>
     <link rel="stylesheet" type="text/css" href="css/main.css"/>
  </head>
  <body style="background: #e1e9eb;">
     <form id="mainForm" method="post"enctype="multipart/form-data" action="${basePath}/importExcel">
        <div class="right">
           <div class="current">当前位置:<a href="###">导入/导出</a> &gt; 导入Excel</div>
           <div class="rightCont">
              <p class="g_title fix">导入</p>
              <table class="tab1" width="100%">
                 <tbody>
                    <tr>
                    <td align="right" width="10%">标题<font color="red">*</font>:</td>
                    <td width="30%">
                       <input id="title" name="title" class="allInput" style="width:100%;" type="text"/>
                    </td>
                    <td align="right" width="10%">选择文件<font color="red">*</font>:</td>
                    <td width="30%">
                       <input type="file" name="excel" style="width:100%;"/>
                    </td>
                 </tr>
              </tbody></table>
              <div style="text-align: center; margin-top: 30px;">
                 <input class="tabSub" value="导     入" onclick="document.getElementById('mainForm').submit();" type="button" />
              </div>
           </div>
        </div>
     </form>
  </body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
提问者 慕沐7374140 2019-03-08 20:18:54
配置ImportExcelServlet之后,导入文件,server的output处没有显示信息。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>indexServlet</servlet-name>
        <servlet-class>org.imooc.servlet.IndexServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>indexServlet</servlet-name>
        <url-pattern>/index</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>importExcelInit</servlet-name>
        <servlet-class>org.imooc.servlet.ImportExcelInitServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>importExcelInit</servlet-name>
        <url-pattern>/importExcelInit</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>importExcel</servlet-name>
        <servlet-class>org.imooc.servlet.ImportExcelServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>importExcel</servlet-name>
        <url-pattern>/importExcel</url-pattern>
    </servlet-mapping>
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <include-prelude>/WEB-INF/jsp/common.jsp</include-prelude>
        </jsp-property-group>
    </jsp-config>
</web-app>

http://img1.sycdn.imooc.com//climg/5c825cce0001a99112520740.jpg



  • 同学你好,问一下有报错信息吗?如果有,请将报错信息贴一下。祝:学习愉快~
    2019-03-10 14:18:11
好帮手慕阿莹 2019-03-08 09:55:48

同学的web中没有发现同学配置ImportExeclServlet 的访问路径啊,同学只配置了IndexServlet和

ImportExcelInitServlet 的访问路径。建议同学再配置一下ImportExeclServlet 的。

http://img1.sycdn.imooc.com//climg/5c81cb2b000138c409560604.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿莹 2019-03-07 13:34:40

404表示没有找到对应的访问资源,同学的web.xml 中是否有配置:

ImportExcelServlet 的访问路径呢?如果有,是否是importExcel呢?

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕沐7374140 #1
    配置了访问路径,出现404报错 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>indexServlet</servlet-name> <servlet-class>org.imooc.servlet.IndexServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>indexServlet</servlet-name> <url-pattern>/index</url-pattern> </servlet-mapping> <servlet> <servlet-name>importExcelInit</servlet-name> <servlet-class>org.imooc.servlet.ImportExcelInitServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>importExcelInit</servlet-name> <url-pattern>/importExcelInit</url-pattern> </servlet-mapping> <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <include-prelude>/WEB-INF/jsp/common.jsp</include-prelude> </jsp-property-group> </jsp-config> </web-app>
    2019-03-07 22:00:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师