Java/Html中 有/ 和 无/ 的区别。
Java项目中:
不加 / 就是获取的当前路径,
加 / 就是从根目录 获取子路径(根目录为WebRoot)。
解释:通常在获取Resource的时候都是获取的不加斜杠的路径,
所以如果想获取子路径,需要先添加”/“,之后在增加相应的路径。
实际项目中 JSP+Servlet+DAO+JavaBean
web.xml
<!-- 登陆Servlet -->JSP页面中
<servlet>
<!-- 配置Servlet名 -->
<servlet-name>loginServlet</servlet-name>
<!-- 指定Servlet的实现类 -->
<servlet-class>com.user.normal.servlet.LoginServlet </servlet-class>
<!-- 配置Servlet的初始化参数:driver -->
</servlet>
<servlet-mapping>
<!-- 确定Servlet名 -->
<servlet-name>loginServlet</servlet-name>
<!-- 配置Servlet映射的URL -->
<url-pattern>/user/normal/servlet/loginUser</url-pattern>
</servlet-mapping>
<form method="post" action="user/normal/servlet/loginUser">
<input type="text" name="username" placeholder="请输入用户名"/><br/>
<input type="password" name="password" placeholder="请输入密码"/><br/>
<input type="submit" value="登录" onclick="return CheckForm();"/>
<a href="jsp/register.jsp">注册</a>
</form>
JSP页面中
第一种 设置basePath的方法
<%
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%= path%><br/>
<%= basePath%><br/>
/Web_Servlet_JSP_MySql_Tomcat_Demo
http://localhost:8080/Web_Servlet_JSP_MySql_Tomcat_Demo/
Html 项目中:
<a href="/a/b.html">c</a> 与 <a href="a/b.html">c</a>的区别:
<a href="/a/b.html">c</a> 是链接指向根目录下的A目录下的b.html
<a href="a/b.html">c</a>一个是链接指向当前目录下的A目录下的b.html
前者是绝对路径 ,后者是相对路径。
../和./的区别
../ 表示上一级目录
./ 表示当前目录下
例子:
1. A目录下有 A.jsp 和 B目录
2. B目录下有B1.jsp 和 B2.jsp
那么
一: B1.jsp想调用B2.jsp,就可以用:<a href="./B2.jsp">或者:<a href="B2.jsp">
二: B1.jsp想调用A.jsp ,可以用:<a href="../A.jsp">
Java项目下使用background-image的路径问题(对于Tomcat 服务器)
特别注意 对于tomcat容器(默认配置)
所有的Servlet最终都会被转换为Servlet,运行在WEB-INF一级目录下,不管原来的配置路径是几级目录。
Servlet 的生存周期 http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html
对于引用资源非常有用,
如下图:
背景图需要引用resource 下的图片,但 jsp位于多层子目录,由于最终JSP都会转换为Servlet, 在WEB-INF 下,故 background-image 设置为
background:url(../resources/images/depStat/history.png); 即可