在JSP开头会有如下代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

这个语句是用来拼接当前网页的相对路径的。用来表明当前页面的相对路径所使用的根路径,也就是项目名称

比如,页面内部有一个连接,完整的路径应该是 http://localhost:8085/Info_System/user/user_info.jsp
其中http://server/是服务器的基本路径,Info_System是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:80/Info_System/。

用这个base,服务器就可以动态的将指定路径和页面的相对路径拼装起来,形成完整的路径。

1.request.getSchema();可以返回当前页面所使用的协议,就是”http”

2.request.getServerName();返回当前页面所在服务器的名字,就是上面例子中的”localhost”

3.request.getServerPort();返回当前页面所在服务器的端口号,就是上面例子中的”8085”

4.request.getContextPath();返回当前页面所在的应用的名字,就是上面例子中的”Info_System”

当前页面路径是:http://localhost:80/Info_System/uploadAttachs/attachs_list.jsp

第一次用IDEA创建JSP程序,getContextPath()等函数会报错:无法解析方法,解决方法如下:

点击 文件>>项目结构
在这里插入图片描述

项目结构中,点Libraries>>点击“+”>>Java

在这里插入图片描述
添加Tomcat安装目录文件夹里的lib包,点击确定,然后应用,最后确定、关闭
在这里插入图片描述

至此,问题就可以得到解决。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐