JavaWeb笔记——IDEA中JSP文件生成的java和class文件的路径

JSP:Java Server Pages,Java服务器端页面,原理上是通过生成对应的.java和.class文件进行服务器端响应。

在idea中,jsp生成的java和class文件路径为:

%LocalAppData%\JetBrains\IntelliJIdea2020.2\tomcat\项目名
\work\Catalina\localhost\虚拟目录
\org\apache\jspindex_jsp.java[.class]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,基于Servlet和JSP实现文件上传,可以封装以下方法: ```java public class FileUtils { /** * 上传文件 * @param request HttpServletRequest对象 * @param fileInputName 表单文件上传控件的name属性值 * @param destPath 文件上传后保存的路径 * @return 上传成功返回true,否则返回false * @throws IOException */ public static boolean uploadFile(HttpServletRequest request, String fileInputName, String destPath) throws IOException, ServletException { // 获取文件上传控件 Part part = request.getPart(fileInputName); // 获取上传文件名 String fileName = getFileName(part); if (StringUtils.isBlank(fileName)) { return false; } // 获取上传文件的后缀名 String fileSuffix = getFileSuffix(fileName); // 生成保存文件路径 String savePath = destPath + File.separator + UUID.randomUUID().toString() + "." + fileSuffix; // 写入上传文件 InputStream input = part.getInputStream(); FileOutputStream output = new FileOutputStream(savePath); int len = 0; byte[] buffer = new byte[1024]; while ((len = input.read(buffer)) != -1) { output.write(buffer, 0, len); } output.flush(); output.close(); input.close(); return true; } /** * 获取上传文件名 * @param part * @return */ private static String getFileName(Part part) { String contentDisposition = part.getHeader("content-disposition"); String[] items = contentDisposition.split(";"); for (String item : items) { if (item.trim().startsWith("filename")) { return item.substring(item.indexOf("=") + 2, item.length() - 1); } } return null; } /** * 获取文件名的后缀 * @param fileName 文件名 * @return 文件后缀 */ public static String getFileSuffix(String fileName) { return fileName.substring(fileName.lastIndexOf(".") + 1); } } ``` 其,`uploadFile`方法用于上传文件,`getFileName`方法用于从上传控件获取上传的文件名,`getFileSuffix`方法用于获取文件名的后缀。需要注意的是,这里使用了`Part`类来处理文件上传,需要在Servlet 3.0及以上版本使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值