如何访问jar包中的jsp页面

问题描述

jsp页面已经打包成jar了,包括js,css样式,全都打包了。请问,如何访问。在线急求啊。。感谢。。

解决方案

解决方案二:
这个真没遇到过。你就当成2个项目。写个webservice试试吧、看看可以不。。。关注中
解决方案三:
把jar包放在新工程的lib下,然后根据目录访问就行了。jar包所在目录为新工程的根目录。
解决方案四:
引用2楼dryzeng的回复:

把jar包放在新工程的lib下,然后根据目录访问就行了。jar包所在目录为新工程的根目录。

不行啊,我试过了。不知道你试过没。。
解决方案五:
不好意思,我错了。WEB-INF里面的内容不能直接访问的,要通过程序才能访问。比如a.jar里有个cn.xxx.A的类,你把a.jar放入lib下面,你在程序里就可以引用它。cn.xxx.Aa=newcn.xxx.A();
解决方案六:
4楼不是坑爹吗,我说的是jar包里面的JavaScript文件,css样式文件,如何访问jsp页面中如何引用。
解决方案七:
楼主有什么理由把jsp打成jar包呢?
解决方案八:
胡扯。头一回听说jspcss打成包还可以new的。
解决方案九:
写个servlet,通过url来访问,用过dwr没,dwr就是把核心js文件打在jar包中,然后你页面引用(实际上是通过url访问到了servlet)就OK了!其实任何文件都可以打成jar包,任然都是可用的,看代码://访问js文件的操作privatevoidjsAction(Stringurl,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{StringfileUri=url.substring(0,url.lastIndexOf("."));InputStreaminput=this.getClass().getResourceAsStream(fileUri);if(null==input){thrownewFrameworkException("找不到["+fileUri+"]这个js文件");}BufferedReaderreader=newBufferedReader(newInputStreamReader(input));PrintWriterout=response.getWriter();response.setContentType("text/javascript;charset=UTF-8");Stringline=null;while((line=reader.readLine())!=null){if(line.indexOf("getV("hdfPath")")!=-1){line=line.replace("getV("hdfPath")","""+request.getContextPath()+""");}if(line.indexOf("getV('hdfPath')")!=-1){line=line.replace("getV('hdfPath')","'"+request.getContextPath()+"'");}if(line.indexOf("${suffix}")!=-1){line=line.replace("${suffix}",url.substring(url.lastIndexOf(".")+1,url.length()));}out.println(line);}reader.close();out.close();out.flush();input.close();}//访问图片或flash的操作privatevoidimgAction(Stringurl,HttpServletResponseresponse)throwsException{InputStreaminput=null;OutputStreamoutput=null;try{StringfileUri=url.substring(0,url.lastIndexOf("."));input=this.getClass().getResourceAsStream(fileUri);if(null==input){thrownewFrameworkException("找不到["+fileUri+"]这个图片或flash");}output=response.getOutputStream();byte[]buffer=newbyte[1024];inti=0;while((i=input.read(buffer))!=-1){output.write(buffer,0,i);}}catch(Exceptione){e.printStackTrace();}finally{try{if(null!=output){//output.flush();output.close();}if(null!=input){input.close();}}catch(Exceptione){e.printStackTrace();}}}

楼主有这个想法,将来说不准也能写个框架玩玩呢,加油!我挺你!
解决方案十:
<scripttype="text/javascript"src="<z:contextPath/>/zl/framework/res/js/public.js.php"></script>这里就是引用了jar的js文件,.php只是访问servlet的一个后缀,public.js才是jar中真正的js文件,这种方式在我们公司已经广泛使用,因为打成jar包的文件是不容更改的!<imgsrc="<z:contextPath/>/zl/framework/res/images/tree/info.gif.php"/>这样写了,页面就能显示jar包中的图片,举一反三,任何文件都是这个道理!
解决方案十一:
引用9楼的回复:

页面调用:<scripttype="text/javascript"src="<z:contextPath/>/zl/framework/res/js/public.js.php"></script>这里就是引用了jar的js文件,.php只是访问servlet的一个后缀,public.js才是jar中真正的js文件,这种方式在我们公司已经广泛使用,因为打成jar包的文件……

“打成jar包的文件是不容更改的”这个说法有待考证,jar也是使用zip格式打包使用servlet访问jar中的css、js资源是否真的必要?首先在server端的文件访问缓存就需要自己实现了,代价太高相应的,似乎也不过提高一点点静态资源被篡改的门槛,
解决方案十二:
我说的不容更改是相对的,不是绝对的,如果你强行把jar解压开来,改了再打包,那还能说啥!比如说,你可以把spring的jar解压开,把里面的class都copy到WEB-INFclasses目录下,项目照样能跑,但一般没人这么做!在多人开发同一项目时,会出现有人误删误改公共文件的现象,打成jar正好可以防止这个现象的发生!至于必要性,就得看情况了,公说公有理,婆说婆有理!代价太高,未必吧!你想一想,所有文件都是部署在服务器的,都是服务器资源,只要用户访问,就必须有一个下载的过程,不管是jar,还是静态资源。浏览器中的【删除临时文件】的按钮可不是用来看看的!
解决方案十三:
引用11楼的回复:

我说的不容更改是相对的,不是绝对的,如果你强行把jar解压开来,改了再打包,那还能说啥!比如说,你可以把spring的jar解压开,把里面的class都copy到WEB-INFclasses目录下,项目照样能跑,但一般没人这么做!在多人开发同一项目时,会出现有人误删误改公共文件的现象,打成jar正好可以防止这个现象的发生!至于必要性,就得看情况了,公说公有理,婆说婆有理!……

那你们项目管理也太烂了公共资源都是会放在指定的目录下的使用和调用都是使用公共的模板路径的公共资源不会被随意删除和新增,甚至修改,除非PM批准你放到jar里也一样还不如放到svn中去....在项目中访问css和图片等资源的时候我个人觉得没必要进行打包可以部署一个资源服务器,然后所有的资源文件都按照指定的格式和路径进行访问
解决方案十四:
引用12楼的回复:

那你们项目管理也太烂了……

好吧,我们管理烂,你们都是好的烂不烂且不管,只要给工资才是硬道理你觉得没必要,人家觉得有必要,难道你要把你的看法强加给别人!我认为楼主的这个想法不错,所以支持他
解决方案十五:
引用13楼s478853630的回复:

引用12楼的回复:那你们项目管理也太烂了……好吧,我们管理烂,你们都是好的烂不烂且不管,只要给工资才是硬道理你觉得没必要,人家觉得有必要,难道你要把你的看法强加给别人!我认为楼主的这个想法不错,所以支持他

哥们我默默的挺你,技术再好,管理再强,思想层次上不去,这种人多着呢。
解决方案:同问,同问!!!
解决方案:引入的时候<z:contextPath>自定义标签吗?
解决方案:引用13楼s478853630的回复:

[Quote=引用12楼的回复:]那你们项目管理也太烂了……

好吧,我们管理烂,你们都是好的烂不烂且不管,只要给工资才是硬道理你觉得没必要,人家觉得有必要,难道你要把你的看法强加给别人!我认为楼主的这个想法不错,所以支持他

顶你,好像很不错的样子,我也碰到过这个问题,当时不知道怎么解决~
解决方案:我们现在也在处理类似的问题,有些界面和功能是普遍存在使用的,想要通过jar的形式重复利用,但是怎么打包,怎么重复利用嗯?
解决方案:该回复于2014-07-30 21:22:51被版主删除
解决方案:8楼的想法很新颖,用自定义标签,把资源文件输出通过IO读出来输出到页面,不知道会性能怎么样。大胆创新也是好的。
其他方案:
)资源文件是放在jar/META-INF/resources的话,跟访问webapp里的非java文件一样。比如,有一个jsp放在:webapp/jsp/A.jsp,发布后假设是这么访问的:http://localhost:8080/myapp/jsp/A.jsp;同时,webapp/lib下有一个a.jar,里头有一个B.jsp,路径为:a.jar!/META-INF/resources/jsp/B.jsp,那么访问B.jsp是这样的:http://localhost:8080/myapp/jsp/B.jsp

时间: 2024-09-20 18:53:32

如何访问jar包中的jsp页面的相关文章

J2ME开发中如何从MIDlet中调用JSP页面

js|页面 首先,我将讨论一下HttpConnection接口,这个接口可以用来建立Http连接 HttpConnection 接口 Connected Limited Device Configuration(有限连接设备配置.简称CLDC).提供了一套用于网络连接的类,就是普通连接框架?一种平台独立连接框架,提供了一种分层的连接接口,它的实现操作系统由具体的设备简表提供(比如Mobile Information Device Profile(MIDP)). MIDP通过提供支持HTTP的Ht

如何从MIDlet中调用JSP页面

js|页面     首先,我将讨论一下HttpConnection接口,这个接口可以用来建立Http连接 HttpConnection 接口 Connected Limited Device Configuration(有限连接设备配置.简称CLDC).提供了一套用于网络连接的类,就是普通连接框架?一种平台独立连接框架,提供了一种分层的连接接口,它的实现操作系统由具体的设备简表提供(比如Mobile Information Device Profile(MIDP)). MIDP通过提供支持HTT

谁在java项目中在jsp页面加载gis视频控件,谁用过??

问题描述 谁在java项目中在jsp页面加载gis视频控件,谁用过?? 为什么在本地html上可以加载上,但是部署到项目上 通过jsp去打开 就无法加载到,显示不出视频呢.求大神 解决方案 视频指定的路径对不对?

浅谈java 执行jar包中的main方法_java

浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&

myeclipse-MyEclipse中写jsp页面时,看不见贯鼠标光标

问题描述 MyEclipse中写jsp页面时,看不见贯鼠标光标 MyEclipse中写jsp页面时,看不见贯鼠标光标 解决方案 把下面console中的暂停点一下,因为控制台一直在运行 解决方案二: 我的也是这样,试了一下好了!不知道你的是不是也是这原因! 解决方案三: 好像还是不行啊!

删除jar包中的指定文件

如何删除jar包中的指定文件呢? 当然使用解压缩软件(rar,zip,7z)肯定没问题.但是我想自动化,图形界面的工具就无能为力了. 核心方法: Java代码   /***       * 删除jar包中的内容       * @param jarPath       * @param fileName : "META-INF/BCKEY.DSA"       * @throws IOException       * @throws ArchiveException       */

执行可运行jar包时读取jar包中的文件

可运行的jar包,都会在META-INF\MANIFEST.MF中设置Main-Class. 那么如何在jar包中读取其中的某个文件呢? 注意:是在可运行的jar包中读取该jar包中的文件,也就是说读取jar包中文件的这段代码在该jar包中  TestUrl类内容如下: Java代码   import java.io.IOException;   import java.io.InputStream;   import java.net.MalformedURLException;   impo

jar-Java JAR包中的类 父类方法不可见等

问题描述 Java JAR包中的类 父类方法不可见等 场景: 两个jar包分别为a.jar.b.jar.b.jar中引用了a.jar,具体为b.jar中的类B继承了a.jar中的类A. A有两个方法,a.getName(),a.getAge(),B重写了getName方法,未重写getAge方法. 新建了一个Java项目C,**C只引用了b.jar,未引用a.jar**,于是出现了如下两个问题: 1.在C项目中,类B没有getAge方法 2.在C项目中,使用强制类型转换时(如)B b = (B)

如何在jar包中使用到spring容器中的bean

问题描述 如何在jar包中使用到spring容器中的bean 这个jar包要使用到这个工程中的某个类,而这个类的配置是由spring管理,怎么在这个jar包中获取到这个bean 解决方案 http://my.oschina.net/zjds/blog/371962