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. 树形DP+RMQ+尺取法 hdu4123

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4123 参考博客:两种解法-树形dp+二分+单调队列(或RMQ)-hdu-4123-Bob’s Race ...

  2. 01背包 hdu1864

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 注意事项: 在这里所有输入的价格都是两位小数(题目没说,看论坛才知道的). 这里单项价格不能超过 ...

  3. LeetCode第20题

    LeetCode20题不多说上代码 public boolean isValid(String s){ Stack<Character> stack = new Stack<Char ...

  4. js改变表单的内容样式

    一.改变单个样式    var obj = document.getElementById("id");   obj.style.cssText = " display: ...

  5. SOA与微服务的区别

    乍一看: 1.SOA更抽象. 2. SOA是拆分服务后,用ECS等手段,将服务组合调度. 微服务则是拆分服务后组合成各种业务. https://blog.csdn.net/HeatDeath/arti ...

  6. jsp选项过长自动换行

    自动换行前是这样的 从源码发现“打发的所发生的7”所在span跨行了,宽度为整行的宽度,不再是自身的实际宽度(一列时所占的宽度) 我的思路是要把这个换行元素前加上<br/>,使得该元素换行 ...

  7. SpringCloud如何创建一个服务提供者provider

    SpringCloud如何创建一个服务提供者provider 创建子moudle provider-demo 创建一个子module,项目名叫provider-demo. 填充springboot和s ...

  8. swift - 16进制颜色扩展(1.支持# 2.支持不带# , 3支持带0X)

    /** * 设置16进制颜色: * 可识别类型 * 1:有# * 2:没有# * 3:含有0X */ extension UIColor{ class func hexadecimalColor(he ...

  9. delete,truncate 和 delete之间的区别

    1.首先看下语法定义: drop table_name truncate table_name delete table_name [where column_name = value] 2.各个删除 ...

  10. wget: command not found

    支持yum yum -y install wget 不支持yum a.查看当前linux版本 cat /etc/issue && uname -a b.根据版本下载相应的rpm htt ...