Jsp动态页面关于IDE默认添加的语句的说明

当新建Web Project后,在WebRoot中IDE自动生成的index.jsp。index.jsp默认生成的代码内容中:

 1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>My JSP 'index.jsp' starting page</title>
13     <meta http-equiv="pragma" content="no-cache">
14     <meta http-equiv="cache-control" content="no-cache">
15     <meta http-equiv="expires" content="0">    
16     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
17     <meta http-equiv="description" content="This is my page">
18     <!--
19     <link rel="stylesheet" type="text/css" href="styles.css">
20     -->
21   </head>
22   
23   <body>
24     This is my JSP page. <br>
25   </body>
26 </html>

需要解释第3行,第4行和第10行。

第3行为request.getContextPath(),是你的新建时指定的工程名。这个名字是部署到服务器上的名字。

第4行为request.getScheme()得到协议的内容(例如Http),request.getServerName()得到服务器的域名(IP地址也可),request.getServerPort()得到服务器的端口号,而最后的path即为第3行的request.getContextPath(),得到部署在服务器上的工程名。

再看一下第4行的代码,中间的连接字符,举个例子给你做个对比你就知道啥意思了,http://127.0.0.1:8080/kantai/

第10行代码的意思是假如你在index.jsp页面有一个aaa.html超链接,那你点击超链接的时候要访问的地址是http://127.0.0.1:8080/kantai/aaa.html,你明白了吧。

待更新。。。。。。。。。

posted on 2016-08-14 12:36  网络哈气高手  阅读(489)  评论(0编辑  收藏  举报