jsp中【<%=request.getContextPath()%>】项目路径


1

2

"request.getContextPath()的值是        "<%=request.getContextPath()%><br/>

"pageContext.request.contextPath的值是   "${pageContext.request.contextPath}<br/>

  

通过运行我们发现了<%=request.getContextPath()%>和${pageContext.request.contextPath}获取的结果都是项目名(上下文),没有获取到项目的端口号

如果我们想要获取项目的绝对路径和端口号我们有什么办法呢

  

<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

通过运行结果可知<%=basePath%>可知结果是

  

完整的路径和端口号还有项目的上下文环境。

结论:项目中用<%=basePath%>来指定项目的绝对路径,可解决因为修改服务器端口号引起的找不到路径问题。

时间: 2024-12-10 09:55:40

jsp中【<%=request.getContextPath()%>】项目路径的相关文章

jsp 中 关于获取项目路径问题

今天调试代码的时候发现个很有意思的问题,测试了好半天也没找到原因,所以只能先记录下来了. jsp 中代码如下: <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html> <html lang="en"> <head> <%@ include file="/common/config.jsp" %>

关于jsp中request请求乱码问题

其实在写web项目的时候最怕的就是出现乱码,有时候很微小的错误可能要找很久,伤神费力.这就要求我们在编程的时候尽量要规范严谨.废话不多说,今天在写jsp的时候又出现了乱码.四处求解,在书上最后找到了答案.在提交表单的时候,如果是中文表单,难免要出现字符集不匹配出现的乱码,这时就要对这个进行编码设置.对于jsp中request这个内置对象,设置编码是这样的:<%requset.setCharactorEncoding("utf-8");%>,其实书上使用的是gb2312这个编

关于request.getContextPath的路径问题

今天在写项目的时候,为了测试整体的流程,写了简单的界面,然后发现在首页的时候没有问题,但是在进行登录的时候,浏览器提示404,看了一下请求路径 http://localhost:8080/$%7Bpath%7D/user/toLogin 很明显中间有乱码的错误,我查看了代码,发现我controller那里的路径映射有问题,所以把乱码那部分删除了,结果是可以看到登录页面的,所以问题应该出现在这个路径上面 这里是原请求路径 <h3> <a href="${path}/user/to

JSP中 request.getRealPath(&quot;/xx/yy&quot;) 方法提示已经过时的替代方法

我们的JSP项目在上传文件时通常都需要获取目录在服务器上的绝对路径,request.getRealPath()方法显示已经过时,但是还是有替代方法的. HttpSession session = request.getSession(true);  //获取session // String path = request.getRealPath("/data/userfile/image");  //此方法已经过时 String path = session.getServletCon

eclipse中的web项目路径和发布好的项目路径

现在企业开发中,我们都会创建一个javaWeb工程,在eclipse中指的是新建一个dynamic web project,创建完工程之后,我们在IDE中大体看到如下的工程目录: 我们主要关心的文件夹有src.WebContent.WEB-INF.test等. src:存放我们写的java文件,以包来区分相同的文件 WebContent:发布的文件夹 WEB-INF:被设计为安全的文件夹,如果一些内容必须通过后台才能被访问,则存放在此文件夹下 test:用户创建的用户目录,可以来存放具体的前台文

jsp中request接收中文参数乱码问题解决办法

在利用表单提交数据时发现,获得的中文参数会发生乱码,解决方法如下: <body> <% String s=request.getParameter("uname"); s = new String(s.getBytes("ISO-8859-1"),"utf-8");//解决乱码问题 %> <%=s %> </body> s = new String(s.getBytes("ISO-8859

JSP中Request属性范围

JSP属性范围,通过以下几个测试代码来学习request属性的范围 测试一(JSP动态指令方式传参): 测试内容: <jsp:param .../>添加参数,通过<jsp:forward page="...">来实现服务器端跳转,以此来测试request属性的范围: 页面RequestScopeDemo.jsp (添加info1参数) -> 通过<jsp:forward page="RequestScopeDemo_1.jsp"&

jsp中request.getParameter()中文乱码问题解决

关于使用request.getParameter()得到中文乱码的问题,在网上查找了一天终于找到了一个解决方案,是一个比较笨的方法,要在每个使用request.getParameter()的地方添加如下代码,代码如下: 1 String name=request.getParameter("name"); 2 if(name!=null){ 3 name=new String(name.getBytes("ISO8859_1"),"utf-8")

JSP中request getParameter和getAttribute不同(转载)

(1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段. (2)request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据.request.getParameter()方法返回String类型的数据. request.setAttribute()和getAt

jsp中的路径与跳转

在jsp(serlvet)中,页面的"变换"有两种方式,第一重定向,第二转发: 先说重定向,它的调用方式是这样的 response.sendredirect("uri"); 特点就是 转换后的uri地址会在地址栏显示不过之前的request里的数据不能传送给新的页面# 重定向就是,让服务器再发一个请求# 如下图,浏览器看到response里面的sendredirect,就会重新发一个请求,那么之前的请求所带的数据自然就没有了# 转发: 实现方式是这样的: Reque