jsp文件怎么打开
jsp文件怎么打开?今天小编就给大家带来jsp文件是怎么打开的,下面和jy135小编一起看看吧!
jsp文件怎么打开
jsp文件一般用记事本就能打开。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
在传统的网页HTML文件(htm,html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email 等等,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。
jsp文件特点
能以模板化的方式简单、高效地添加动态网页内容。
可利用JavaBean和标签库技术复用常用的功能代码(设计好的组件容易实现重复利用,减少重复劳动)。标签库不仅带有通用的内置标签(JSTL),而且支持可扩展功能的自定义标签。
有良好的工具支持。
继承了Java语言的相对易用性。
继承了Java的跨平台优势,实现“一次编写,处处运行”。因为支持Java及其相关技术的开发平台多,网站开发人员可以选择在最适合自己的系统平台上进行JSP开发;不同环境下开发的JSP项目,在所有客户端上都能顺利访问。
页面中的动(控制变动内容的部分)/静(内容不需变动的部分)区域以分散但又有序的形式组合在一起,能使人更直观地看出页面代码的整体结构,也使得设计页面效果和程序逻辑这2部分工作容易分离(外观视图与逻辑分离)。从而方便分配人员并发挥各自长处,实现高效地分工合作。
可与其它企业级Java技术相互配合。JSP可以只专门负责页面中的数据呈现,实现分层开发。
利用javaassist修改Class文件
我们在开发中有时候会遇到这样的问题,就是使用的某个第三方包中的某些类或者某些方法不能满足我们的需求,但我们又没有源代码可以改,如果通过反编译的话又容易出错,javaassist这个第三方包就可以解决这个问题,这个第三方包支持对字节码的直接编辑,说得直白点,就是可以用这个第方包通过编程实现对Class类的直接修改。我也是刚用这个,所以写一点目前我知道的方法。
javaasist.jar这个包在网上可以方便下到,他里面主要有这么几个类
ClassPool:Class载入器
CtClass:可供修改的Class
CtMethod:可供修改的方法
CtField:可供修改的域
用法是通过ClassPool载入一个你要修改的类(载入成CtClass),那么你就可以用CtClass的方法去获取这个类的所有方法和域,并相应解析成CtMethod或者CtField,然后再修改。
举个例子,比如我有一个a.class,里面有一个方法叫public void b(int a){System.out.println(a);)
如果我想把这个方法改成public void b(int a){System.out.println(a+1);}
那么用如下代码
ClassPool cp = ClassPool.getDefault();
CtClass cc = cp.get("a");
CtMethod m = cc.getDeclaredMethod("b");
上边的代码是将a.class载入到了cc,并将里面的b方法载入到了m,然后再进行修改,对方法的修改,CtMethod类提供了setBody(直接写入内容体),insertAfter(在后面补充),insertBefore(在前面补充)这些方法,下边是示例
m.setBody("{System.out.println(a+1);}");
这里要注意,写入的实际程序体需要用{}给包起来,如果没有会编译出错,但上边这样的写法编译还是会出错的,为什么呢,因为方法的参数不能够直接写在body里,而要用引用的方式,对CtMethod,提供了这样的引用方式,$1,$2....分别对应相应的参数,所以上边的代码要改成
m.setBody("{System.out.println($1+1);}");
这样就对了
这样我们就已经把这个方法改掉了,接下来要生成修改过后的Class文件,
cc.writeFile();
这样新的Class文件就生成了
那么实际的操作是怎么样的呢,我们应该先新建一个Java项目,然后把你要修改的Class所在的包以及javaassisst.jar都导入进去,然后写代码修改,最后生成的新class文件就会放置在你新建的这个项目下,然后你把这个修改过的class文件替换以前的就OK了。