利用JSP读取文件夹内所有文件

需求

最近在上web课,老师给了一些jsp样例代码,但是jsp文件不像html文件那样可以双击用浏览器运行,jsp文件必须由服务器解析才可以,所以必须把这些样例jsp文件放在tomcat的webapp目录下,但这又有一个问题,就是必须在地址栏手动输入每个文件的名字,例如:
http://localhost:8080/kejian/ch03_14_application.jsp

所以需求产生了,编写一个index.jsp文件,显示同目录下所有jsp文件,并可点击。

解决方案

  1. 创建 index.jsp,编写如下内容:
<%@ page language="java" import="java.io.*" pageEncoding="UTF-8"%>
<html>
<head>
  <meta content="text/html; charset=UTF-8" />
  <title>Web课程代码示例</title>
</head>
<body>
  <ul style="font-size:16px;">
    <%
    String path = application.getRealPath("./");
    out.println("<p>文件夹绝对路径:" + path + "</p><br/>");
    File f = new File(path);
    File[] files = f.listFiles();
    if(files.length == 0){
        out.println("<p>啥也没有</p><br/>");
        return;
    }
    for(int i=0; i<files.length; i++){
        if (files[i].isFile()){
            String fname = files[i].getName();
            int last_index = fname.lastIndexOf(".");
            if(last_index == -1){
                continue;
            }
            String suffix = fname.substring(last_index);
            if(suffix.equals(".jsp")){
                out.print("<li>");
                out.print("<a href='./" + fname + "'>");
                out.println(fname);
                out.print("</a>");
                out.print("</li>");
            }
        }
    }
    %>
  </ul>
</body>
</html>
  1. 将 index.jsp 和样例jsp放在同一文件夹内,例如 kejian,然后将kejian放在webapp下。

效果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值