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. CentOS 下搭建Jenkins

    1.下载安装包 A 可以连接外网: 导入仓库 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jen ...

  2. Unity3d插件Master Audio AAA Sound v3.5

    Unity3d声音类插件Master Audio AAA Sound v3.5.8.3Master Audio gives you tremendous ease of use, speed, pow ...

  3. 伪异步IO

    针对传统的BIO编程,当客户端数量一直增加的情况下,可能会导致服务器直接奔溃掉,进而出现了一种伪异步IO的线程方式. 先看一下代码: 看一下server端的代码: 其中使用了自定义的一个线程池Hand ...

  4. PP助手上传失效

    新建的iOS项目运行到iPad上,因为需要播放本地音视频图像,所以借助PP助手将MAC上的东西导入IPAD上的项目的document里(pp助手的应用游戏----应用列表功--APP右下角查看文件) ...

  5. 如何查看Firefox中保存的登录密码

    问:以前使用Firefox浏览器登录一个论坛,并且临时申请了一个账号,在使用Firefox登录时选择让它记住密码了,后来,我忘记了那个论坛的密码,但是可以使用Firefox直接登录.现在能不能查看密码 ...

  6. 弹框alertView

    // 创建一个弹框UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@“标题” message:@“显示的具体内容” delegate:s ...

  7. sqlserver中对于特定数据字段定义特定的数据类型

    char和varchar:汉字占两个字节,英文.数字或字符占一个 比如: 性别:男   女 可以定义为:char(2)或者是varchar(2)    因为性别是中文,中文占两个字节 nchar和nv ...

  8. 安装mysql时启动服务出错问题

    mysql安装最后一步 无法启动服务错误 博客分类: IDE问题解析     今天安装mysql程序时候,在安装到最后一步时候,在最后一步却发现无法启动服务,出现这样的提示“cannot create ...

  9. PYthon end

    关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符. # -*- coding:utf-8 -*- count = 1 while count <=5: i=1 while ...

  10. 2019年Java未来的发展方向

    2018即将结束,迎来2019年,Java作为世界上 最流行的计算机编程语言,在当今信息时代中发挥了重要的作用.Java语言本身具有着自己独特的优势:面向对象.分布式应用并且安全.多线程.跨平台等.这 ...