JSP
JSP页面中包含内容:
A、HTML
B、注释[java注释 HTML注释 JSP注释]
C、Java代码 [小脚本 声明式 表达式]
小脚本和声明之间区别
A、小脚本中定义java代码最后都会放到service方法中 声明定义代码最后都在方法外
B、小脚本中定义所有变量都是局部变量 声明中定义变量是成员变量
C、小脚本中不可以定义方法 声明中可以定义方法
D、小脚本中可以使用JSP内置对象 声明中不可以使用JSP内置对象
JSP注释和HTML注释区别
JSP注释更优越 JSP减少网络带宽
何为JSP的内置对象
JSP本身就给我们提供的对象 成为内置对象 我们使用内置对象时候不用创建 不用获得 ,直接使用即可,因为JSP
底层已经把这些对象创建好了。
JSP内置对象一共9个
例如:out /resuest/response
9个内置对象中 包含4个作用域 pageContext 、request、session、application
request---->HttpServletRequest;
response---->HttpServletResponse;
page-------->JspPage; 涵盖就是页面配置信息
pageContext->PageContext;
session----->HttpSession;
application->ServletContext;
config------>ServletConfig;
out--------->PrintWriter;
exception :需要在page上指定isErrorPage="true"
各种路径
<html>
<head>
<base href="<%=request.getContextPath()+"/"%>"/>
<title>Title</title>
</head>
<body>
<%--优点:任何服务器中任何资源都可以访问 缺点:路径书写比较长 比较麻烦--%>
<h3>绝对路径(协议+IP+端口+跳转地址)</h3>
<a href="http://127.0.0.1:8080/web05_war_exploded/path1/add.jsp">同一个项目中同一个目录中文件add.jsp</a><br/>
<a href="http://127.0.0.1:8080/web05_war_exploded/path1/subpath/sub.jsp">同一个项目中子级目录中文件subpath/sub.jsp</a><br/>
<a href="http://127.0.0.1:8080/web05_war_exploded/path2/update.jsp">同一个项目中同级目录中文件path2/update.jsp</a><br/>
<a href="http://127.0.0.1:8080/web05_war_exploded/index.jsp">同一个项目中父级目录中文件index.jsp</a><br/>
<a href="http://127.0.0.1:8080/web05_war_exploded/abc/PathServlet">同一个项目中Servlet如何访问</a><br/>
<a href="http://127.0.0.1:8080/web04_war_exploded/index.jsp">web04项目中index.jsp文件(同一个服务器)</a><br/>
<a href="http://www.bjsxt.com">北京尚学堂官网如何访问(不同服务器)</a><br/>
<%--优点:路径书写方式比较简单 缺点:只可以访问同一个服务器中项目--%>
<h3>根路径(必须/开始 后面紧跟【项目上下文】 +访问地址)</h3>
<a href="/web05_war_exploded/path1/add.jsp">同一个项目中同一个目录中文件add.jsp</a><br/>
<a href="/web05_war_exploded/path1/subpath/sub.jsp">同一个项目中子级目录中文件subpath/sub.jsp</a><br/>
<a href="/web05_war_exploded/path2/update.jsp">同一个项目中同级目录中文件path2/update.jsp</a><br/>
<a href="/web05_war_exploded/index.jsp">同一个项目中父级目录中文件index.jsp</a><br/>
<a href="/web05_war_exploded/abc/PathServlet">同一个项目中Servlet如何访问</a><br/>
<a href="/web04_war_exploded/index.jsp">web04项目中index.jsp文件(同一个服务器)</a><br/>
<%--<a href="http://www.bjsxt.com">北京尚学堂官网如何访问(不同服务器)</a><br/>--%>
<%--优点:路径书写方式比较简单 缺点:只可以访问同一个服务器中项目 必须找相对关系 如果path的位置改变了 这个相对路径全部不对--%>
<h3>相对路径A(直接写路径 在最前面不需要写/ 相对于本身 ./当前目录 ../返回上级)</h3>
<a href="add.jsp">同一个项目中同一个目录中文件add.jsp</a><br/>
<a href="subpath/sub.jsp">同一个项目中子级目录中文件subpath/sub.jsp</a><br/>
<a href="../path2/update.jsp">同一个项目中同级目录中文件path2/update.jsp</a><br/>
<a href="../index.jsp">同一个项目中父级目录中文件index.jsp</a><br/>
<a href="../abc/PathServlet">同一个项目中Servlet如何访问</a><br/>
<a href="../../web04_war_exploded/index.jsp">web04项目中index.jsp文件(同一个服务器)</a><br/>
<%--优点:书写最简单,并且不需要找相对关系只要顺着上面base继续写即可 缺点:只可以访问当前项目中内容--%>
<h3>相对路径B 相对于base</h3>
<a href="path1/add.jsp">同一个项目中同一个目录中文件add.jsp</a><br/>
<a href="path1/subpath/sub.jsp">同一个项目中子级目录中文件subpath/sub.jsp</a><br/>
<a href="path2/update.jsp">同一个项目中同级目录中文件path2/update.jsp</a><br/>
<a href="index.jsp">同一个项目中父级目录中文件index.jsp</a><br/>
<a href="abc/PathServlet">同一个项目中Servlet如何访问</a><br/>
<%-- <a href="/web04_war_exploded/index.jsp">web04项目中index.jsp文件(同一个服务器)</a><br/>--%>
</body>
</html>
路径规则适用于页面中 img a form …
路径使用场景
如果访问的都是当前项目文件: 推荐使用基于base的路径
如果访问是同一个服务器中其他项目文件:推荐使用根路径
如果访问是不同服务器中项目:必须使用绝对路径