仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 398|回复: 9
打印 上一主题 下一主题

[学习教程] JAVA网页设计做了个jsp&servlet路径形态的测试,...

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:27:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。js|servletPS:这里怎样贴html阿,害得我还得格局化文本!




路径形态测试

目标
测试jsp之间相互跳转,servlet跳转jsp情况下相对路径和绝对路径的形态
寻觅出一种通用的办理举措


资本

打成的WAR包
MyWAR

构成文件
JSP
a.jsp

b/
b.jsp
ccc.jsp


Servlet

TestServlet.javamapping:/layer1/layer2/TestServlet


流程形貌
1.由a.jsp间接跳转到b.jsp

由a.jsp提交到TestServlet,TestServlet依据a的提交选择响应跳转体例(forward/sendRedirect)
然后跳转到b.jsp
2.b.jsp包括一系列超链,来显现分歧体例的跳转后超链的情形
/a.jsp
../a.jsp
../../a.jsp
../../../a.jsp

ccc.jsp
/b/ccc.jsp
../ccc.jsp
../b/ccc.jsp
../../ccc.jsp
../../b/ccc.jsp
../../../ccc.jso
../../../b/ccc.jsp

[contextPath]/b/b.jsp



测试了局


短语交换

http://localhost:8080/=>ip/
/MyWAR/=>war/
http://localhost:8080/MyWAR/=>ip/war/
/MyWAR=>[contextPath](request.getContextPath())





跳转体例间接跳转<a..>servlet/forwardservlet/sendRedirect
requestDispatcher.forwardresponse.sendRedirect
---------------------+---------------------+----------------------------------+------------------------
servlet中跳转的路径x/b/b.jsp/war/b/b.jsp
---------------------+---------------------+----------------------------------+------------------------
跳转后扫瞄器的地点栏ip/war/b/b.jspip/war/layer1/layer2/TestServletip/war/b/b.jsp
---------------------+---------------------+----------------------------------+------------------------
b.jsp中的链接列表扫瞄器形态条呈现的链接地点
<ahref="这里的形貌"
---------------------+---------------------+----------------------------------+------------------------
/a.jspip/a.jspip/a.jspip/a.jsp
../a.jspip/war/a.jspip/war/layer1/a.jspip/war/a.jsp
../../a.jspip/a.jspip/war/a.jspip/a.jsp
../../../a.jspip/a.jspip/a.jspip/a.jsp

ccc.jspip/war/b/ccc.jspip/war/layer1/layer2/ccc.jspip/war/b/ccc.jsp
/b/ccc.jspip/b/ccc.jspip/b/ccc.jspip/b/ccc.jsp
../ccc.jspip/war/ccc.jspip/war/layer1/ccc.jspip/war/ccc.jsp
../b/ccc.jspip/war/b/ccc.jspip/war/layer1/b/ccc.jspip/war/b/ccc.jsp
../../ccc.jspip/ccc.jspip/war/ccc.jspip/ccc.jsp
../../b/ccc.jspip/b/ccc.jspip/war/b/ccc.jspip/b/ccc.jsp
../../../ccc.jspip/ccc.jspip/ccc.jspip/ccc.jsp
../../../b/ccc.jspip/b/ccc.jspip/b/ccc.jspip/b/ccc.jsp


[contextPath]/b/b.jspip/war/b/b.jspip/war/b/b.jspip/war/b/b.jsp
---------------------+---------------------+----------------------------------+------------------------




总结

由下面的列表看出,只要最上面一行是有实践意义并且不管以任何体例跳转链接地点都是准确无误的
1.在jsp中的“/”暗示的根为“ip”,不包括WAR路径
2.在servlet中以forward体例利用的“/”暗示的根为“ip/war/”,包括了WAR路径
3.在servlet中以sendRedirect体例利用的“/”暗示的根为ip,不包括WAR路径
4.在servlet中以forward体例跳转,则扫瞄器的地点栏仍旧为此servlet,不会改动
5.在servlet中以sendRedirect体例跳转,则扫瞄器的地点栏改动为目标路径
6.绝对路径切实其实定是以扫瞄器的地点栏显现的路径为基准的,而非详细的目次布局,以是
跳转到同目次下的某个页面利用<ahref="文件名">link</a>这类体例不是永世建立的
(做asp的人不要惊奇,这里说的jsp和servlet:))
7.为了不jsp跳jsp,servlet跳jsp,forward体例跳转,sendRedirect跳转发生的路径成绩,
关于jsp和利用sendRedirect跳转的servlet,接纳间接利用带
容器路径[Stringrequest.getContextPath()]的相对路径就能够完全办理,即:
1)<%
StringcontextPath=request.getContextPath();
Stringurl=contextPath+"/user/login.jsp";
%>

<ahref="<%=url%>">login</a>
2)....
StringcontextPath=request.getContextPath();
StringtargetPath=contextPath+"/user/login.jsp";
RequestDispatcherrd=request.getRequestDispatcher(targetPath);
rd.forward(request,response);
......

关于利用forward跳转的servlet,则不要加容器路径,不然就反复呈现容器路径,缘故原由拜见2

8.假如利用的“../”过量也不会呈现严峻成绩,“../”最多使链接抵达“ip/”
9.别的,在利用
<jsp:includepage="url"flush="true"/>
<%@includefile="url"%>
<%@pageerrorPage="url"%>时,
这里url利用的“/”暗示的根为“ip/war/”,包括了WAR路径


最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
admin 该用户已被删除
沙发
发表于 2015-1-21 07:03:48 | 只看该作者
是一种突破用户端机器环境和CPU
柔情似水 该用户已被删除
板凳
发表于 2015-1-28 22:19:50 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
只想知道 该用户已被删除
地板
发表于 2015-1-30 22:42:16 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
小妖女 该用户已被删除
5#
发表于 2015-2-6 16:28:24 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
蒙在股里 该用户已被删除
6#
发表于 2015-2-17 04:49:08 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
因胸联盟 该用户已被删除
7#
发表于 2015-3-5 15:59:41 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-12 04:12:24 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
山那边是海 该用户已被删除
9#
发表于 2015-3-19 17:57:02 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
变相怪杰 该用户已被删除
10#
发表于 2015-4-1 00:09:28 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 18:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表