1.在jsp中使用${pageContext.request.contextPath}获取相对路径,可是最后路径变为:http://localhost:8080/oneself/$%7BpageContext.request.contextPath%7D/css/reset.css
2.贴图,这是浏览器的调试页面,可以看到获取css的路径带上了${pageContext.request.contextPath},而console中打印的获取css地址为$%7BpageContext.request.contextPath%7D,并不清楚什么原因,希望各位大佬指点。

login.jsp页面

 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Login</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/reset.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/supersized.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css">
<!-- Javascript -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js" ></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/supersized.3.2.7.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/supersized-init.js"></script>
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<!--<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>-->
<!--[endif]-->
</head> <body oncontextmenu="return false">
<div class="page-container">
<div id="log-box">
<h1>登 录</h1>
<form action="${pageContext.request.contextPath}/user/login.do" method="post">
<table>
<tr>
<td class="log-reg">
<div>
<input type="text" id="username" name="username" class="username"
placeholder="用户名/邮箱名" autocomplete="off" onblur="validname()" />
</div></td>
<td class="errmsg"><span style="overflow: hidden;"
id="errorMsgname" />
</td>
</tr>
<tr>
<td class="log-reg">
<div>
<input id="password" type="password" name="password" class="password"
placeholder="密码" oncontextmenu="return false"
onpaste="return false" onblur="validpwd()" />
</div>
<td class="errmsg"><span style="overflow: hidden;" id="errorMsgpwd" />
</td>
</tr>
<tr>
<td colspan="2" class="btn-left"><input type="submit"
class="btn" id="submit" value="登 录" />
</td>
</tr>
<tr>
<td colspan="2" class="btm-left">
<p class="box-button">
没有账号,先 <a href="${pageContext.request.contextPath}/user/showregister.do">注册</a>
</p>
</td>
</tr>
<tr>
<td colspan="2" class="btm-pa">
<p class="box-button" id="btm-p">
<a href="#">忘记密码?</a>
</p>
</td>
</tr>
</table>
</form>
</div>
<div class="connect">
<p>If we can only encounter each other rather than stay with each
other,then I wish we had never encountered.</p>
<p style="margin-top:20px;">如果只是遇见,不能停留,不如不遇见。</p>
</div>
</div>
<div class="alert" style="display:none">
<h2>消息</h2>
<div class="alert_con">
<p id="ts"></p>
<p style="line-height:70px">
<a class="btn">确定</a>
</p>
</div>
</div> <script type="text/javascript">
$(".btn").click(function() {
is_hide();
});
$("#submit").live('click', function() {
var u = $("#username");
var p = $("#password");
if (u.val() == '' || p.val() == '') {
$("#ts").html("用户名或密码不能为空~");
is_show();
return false;
} else {
var reg = /^[0-9A-Za-z]+$/;
if (!reg.exec(u.val())) {
$("#ts").html("用户名错误");
is_show();
return false;
}
}
});
window.onload = function() {
$(".connect p").eq(0).animate({
"left" : "0%"
}, 600);
$(".connect p").eq(1).animate({
"left" : "0%"
}, 400);
}; function is_hide() {
$(".alert").animate({
"top" : "-40%"
}, 300);
} function is_show() {
$(".alert").show().animate({
"top" : "45%"
}, 300);
};
function validname() {
var val = $("#username").val();
if (val == '' || $.trim(val) == '') {
$("#errorMsgname").html('用户名不能为空');
$("#errorMsgname").show();
} else {
$.ajax({
type: "post",
url: "finduserisnull.do?info=" + val,
data: "",
success: function(data) {
if(data=="false"){
$("#errorMsgemail").html('用户未注册!');
}else {
$("#errorMsgemail").html('<img src="img/yes.jpg" style="width: 18px;height: 18px;"/>');
}}
});
}
};
function validpwd() {
//获取id为password对应的input输入框中的值
var val = $("#password").val();
if (val == '' || $.trim(val) == '') {
//如果val为空或者空格,将错误消息显示在对应span
$("#errorMsgpwd").html('密码不能为空');
//让span显示出来
$("#errorMsgpwd").show();
} else {
$("#errorMsgpwd").html('<img src="${pageContext.request.contextPath}/img/yes.jpg" style="width: 18px;height: 18px;"/>');
}
};
</script>
</body> </html>

jsp里面不能使用${pageContext.request.contextPath}解决方案的更多相关文章

  1. jsp获取绝对路径----${pageContext.request.contextPath}

    JSP取得绝对路径 在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下: 一.使用${pageCont ...

  2. ${pageContext.request.contextPath} JSP取得绝对路径

    一.问题     JSP中究竟采用绝对路径还是采用相对路径随着所采用技术的越来越复杂,这个问题也变得越来越难以解决. 1)采用相对路径遇到的问题      相对路径固然比较灵活,但如果想复制页面内的代 ...

  3. ${pageContext.request.contextPath}是JSP取得绝对路径(转载)

    ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> . 也就是取出部署的应用程 ...

  4. jsp中${pageContext.request.contextPath}的意思

    ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> . 也就是取出部署的应用程 ...

  5. <jsp:include page="${pageContext.request.contextPath/index.jsp" ></jsp:include> 引发的错误

    路径引发的错误 如下使用项目路径对jsp页面进行获取,会报javax.servlet.ServletException: File "/web/dbwx/web/public/page_to ...

  6. 关于在JSP页面中为什么一定要用${pageContext.request.contextPath}来获取项目路径,而不能用${request.contextPath}?

    这里的疑问在于pageContext和request都是JSP中的内置对象之一,为什么不直接用${request.contextPath}来获取项目路径? 出现这种疑问,其实是将JSP的内置对象和EL ...

  7. 【JSP】${pageContext.request.contextPath}

    取出部署的应用程序名或者是当前的项目名称 http://localhost:8080/demo1/a.jsp  ${pageContext.request.contextPath}或<%=req ...

  8. JSP之项目路径问题(${pageContext.request.contextPath},<%=request.getContextPath()%>以及绝对路径获取)

    本随笔这是作为一个记录使用,以备后查.项目完成之后本地部署OK,本地Linux部署OK,都可以正常的访问,可是当我把它部署到服务器上面的时候,首页可以正常访问,可是当发出请求的时候却报错误了,说找不到 ...

  9. 关于${pageContext.request.contextPath}的理解 (转载)

    ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> . 也就是取出部署的应用程 ...

随机推荐

  1. The following packages have unmet dependencies错误

    当出现类似这类错误: The following packages have unmet dependencies: python-dev : Depends: python (= 2.7.5-5ub ...

  2. 【centos】centos命令总结(持续更新)

    1.查看系统版本命令 转自:https://blog.csdn.net/networken/article/details/79771212 .查看内核版本 [root@localhost ~]# u ...

  3. centos7下Redis3的安装与使用

    redis是一个开源的,使用C语言编写的,支持网络交互的,可基于内存也可持久化的Key-Value数据库. 一.安装redis 下载redis源码 > wget http://download. ...

  4. oracle 数据库密码过期

    查询密码过期策略 SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIM ...

  5. 20.Mysql锁机制

    20.锁问题锁是计算机协调多个进程或线程并发访问某一资源的机制. 20.1 Mysql锁概述锁类型分为表级锁.页面锁.行级锁.表级锁:一个线程对表进行DML时会锁住整张表,其它线程只能读该表,如果要写 ...

  6. IDEA 中javadoc插件不能设置的问题

    解决方案 1.手动下载插件 https://github.com/ranzou06/intellij-javadocs/blob/master/intellij-javadocs.zip?raw=tr ...

  7. phpstorm+xdebug调试代码

    1工具 #phpstorm 前面有文章介绍如何安装 #phpStudy 官网下的2018最新的安装包,php环境使用的也是最新的php7.0nts 2开启php Xdebug拓展 开启拓展,phpSt ...

  8. BZOJ1227或洛谷2154 [SDOI2009]虔诚的墓主人

    BZOJ原题链接 洛谷原题链接 又是扫描线,题解可看大佬的博客(太懒了不想打) #include<cstdio> #include<algorithm> using names ...

  9. MFC动态按钮的创建及其消息响应(自定义消息)

    动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 10000 2.在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针 ...

  10. padding属性

    p {padding:2cm 4cm 3cm 4cm;} 属性定义及使用说明 padding简写属性在一个声明中设置所有填充属性.该属性可以有1到4个值. 实例: 填充:10px 5px 15px 2 ...