点击导入Excel报404错误,代码如下

点击导入Excel报404错误,代码如下

index.jsp的代码

<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    request.setAttribute("basePath",basePath);
%>
//省略中间代码
<h3 onclick="clickSecondMenu(this,'<%=basePath%>importExcel')">
   <a>导入Excel</a>
</h3>

serlvet代码

public class ImportExcelInitServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getRequestDispatcher("/WEB-INF/jsp/importExcel.jsp").forward(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

web.xml配置

<servlet>
    <servlet-name>ImportExcelInitServlet</servlet-name>
    <servlet-class>com.my.servlet.ImportExcelInitServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ImportExcelInitServlet</servlet-name>
    <url-pattern>/importExcel</url-pattern>
</servlet-mapping>

网页f12开发者工具报错信息

/**

 * 方法描述:单击二级菜单(页面左部菜单),初始化主页面

 */

function clickSecondMenu(element,src) {

var nodes = document.getElementById('menuDiv').children;

for(var i = 0; i < nodes.length; i++) {

nodes[i].children[0].className = '';

}

element.children[0].className = 'on';

//setAttribute('src',src);这里红色下划线错误,fail to load resourse

document.getElementById('mainPage').setAttribute('src',src);

}


正在回答

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

2回答

1、请同学贴一下报404时的截图,看一下跳转时的url ,

2、建议同学看一下你的web.xml中ImportExcelInitServlet 的地址是否正确呢?

3、建议同学贴全一下相关代码,尤其是index.jsp 中的代码。

因为模拟同学的代码时,会报如下错误,都改为basePath1代替时,可以跳转的。

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


注意不要贴在回复里,会失去代码的格式。可以在回答里贴一下。

祝学习愉快。

  • 摄影祖师爷 提问者 #1
    重启一下ide竟然好了...
    2018-09-21 14:38:42
提问者 摄影祖师爷 2018-09-21 14:40:16
<h3 onclick="clickSecondMenu(this,'<%=basePath%>importExcel')">
   <a>导入Excel</a>

onclick函数的第二个参数是不是不能直接跟jsp页面?试了下会报404错误,只能跟servlet才能跳转吗?

  • 是的,jsp页面放在WEB-INF下了,WEB-INF下的文件是受保护的文件,无法客户端直接访问,需要通过服务端才能访问。需要服务端去转发或重定向到该jsp
    2018-09-21 15:21:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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