JSP页面如何调用到.class文件【原创】
2013-08-16 14:51
351 查看
曾几何时,自工作至今的几年间,已经不知道写过多少篇配置JSP环境的文章了,不知道雄心壮志地打算开始学习JSP多少次了,然而,每次在兴师动众,饶有兴致地拉开工架,而后成功配置完毕,看到tomcat的猫样的首页之后,做好博客记录配置过程后,竟然,几次都惊人相似地,嘎然而止了。每次的学习以配置环境开始,以配置环境结束,也每次止步于配置环境。有一次稍微好点的,连过一下数据库,显示过一些数据,别无其他。因为每次都浅尝辄止,所以,也就印象不深刻,印象不深刻,也就自然容易忘记,时间一长,就完全好像没学过一样。都有点感觉像是浪费时间了。当然,这里面和工作中没有机会实际天天使用也是有一定关系的。
所以,此次,又开始不知道哪根神经被触动了,又想起来看JSP了,前两天就开始网上看教程,配环境,但是这次想好了,不超过过去的深度,肯定不写博客。有了自我突破,回过头,再补上博客。
今天,刚才,还是在同事的帮忙下,诡异地调试出来了第一个调用了类文件的JSP页面小程序,虽然诡异,但也算成功了吧,呵呵。回顾一下过程。
先写个a.java文件,保存在C盘根目录下,代码如下:
然后通过DOS窗口,在C盘根目录下,进行编译:c:\> javac a.java。然后瞬间,在C盘根目录下,会出现a.class文件。然后,将这个class文件挪到tomcat安装目录下的\webapps\ROOT\WEB-INF\classes\xin文件夹下。
然后,编写页面文件test.jsp,存在tomcat安装目录下的\webapps\ROOT目录下,代码如下:
随后,在浏览器中输入http://localhost:8080/test.jsp即可看到
以上就是一个看似简单的jsp调用class的过程了。但其实,从安装配置开始初学,到成功调试出这结果,这当中已经历经了不少问题了。环境配置暂且不提。先说这里的代码吧。
关于<%@ page import...%>指令
在jsp页面中,头一句是引用了两个类,一个是常规的java.util.*,这个照抄即可。另外个是xin.*,它的意思是引用tomcat的class文件目录里的xin文件夹下的所有的类。Class文件一般都必须存放在Tomcat的安装目录的\webapps\ROOT\WEB-INF\classes\文件夹下。这里实例中的a.class文件是存放在\webapps\ROOT\WEB-INF\classes\xin\下面的,所以,在jsp页面引用时,必须写成xin.*。这种写法,其实也就意味着这个jsp页面中可以直接调用xin文件夹下的任意类文件。
调用表达式
然后,在页面中可以直接使用<%=...%>这种叫表达式的方式来直接调用类中的内容。具体写法是类名.方法名()。
类文件及类的定义
好了,页面实例内容其实很简单很少,接下来回头说那个.java文件。调用的是class文件,但是实际编辑的可是原始的,编译之前的.java文件哦!首先一定要写package xin;!因为它在xin目录下,不写的情况除非这个class文件就在class目录下。
其次是定义类public class a{}。
类当中有变量的声明:private static int count;。至于这里的public/private,static什么的,以后再说,一时半会儿搞不清楚。
有方法的定义:public static int getCount(){}。
这里值得注意的一点是,类文件当中定义的类的名称,要与创建的.java文件的文件名一致,否则,会错的。
所以,此次,又开始不知道哪根神经被触动了,又想起来看JSP了,前两天就开始网上看教程,配环境,但是这次想好了,不超过过去的深度,肯定不写博客。有了自我突破,回过头,再补上博客。
今天,刚才,还是在同事的帮忙下,诡异地调试出来了第一个调用了类文件的JSP页面小程序,虽然诡异,但也算成功了吧,呵呵。回顾一下过程。
先写个a.java文件,保存在C盘根目录下,代码如下:
package xin; public class a { private static int count; public static int getCount() { count++; return count; } }
然后通过DOS窗口,在C盘根目录下,进行编译:c:\> javac a.java。然后瞬间,在C盘根目录下,会出现a.class文件。然后,将这个class文件挪到tomcat安装目录下的\webapps\ROOT\WEB-INF\classes\xin文件夹下。
然后,编写页面文件test.jsp,存在tomcat安装目录下的\webapps\ROOT目录下,代码如下:
<%@ page import="xin.*,java.util.*" %> <html> <body> <center>the page count is <%= a.getCount()%> </center> </body> </html>
随后,在浏览器中输入http://localhost:8080/test.jsp即可看到
以上就是一个看似简单的jsp调用class的过程了。但其实,从安装配置开始初学,到成功调试出这结果,这当中已经历经了不少问题了。环境配置暂且不提。先说这里的代码吧。
关于<%@ page import...%>指令
在jsp页面中,头一句是引用了两个类,一个是常规的java.util.*,这个照抄即可。另外个是xin.*,它的意思是引用tomcat的class文件目录里的xin文件夹下的所有的类。Class文件一般都必须存放在Tomcat的安装目录的\webapps\ROOT\WEB-INF\classes\文件夹下。这里实例中的a.class文件是存放在\webapps\ROOT\WEB-INF\classes\xin\下面的,所以,在jsp页面引用时,必须写成xin.*。这种写法,其实也就意味着这个jsp页面中可以直接调用xin文件夹下的任意类文件。
调用表达式
然后,在页面中可以直接使用<%=...%>这种叫表达式的方式来直接调用类中的内容。具体写法是类名.方法名()。
类文件及类的定义
好了,页面实例内容其实很简单很少,接下来回头说那个.java文件。调用的是class文件,但是实际编辑的可是原始的,编译之前的.java文件哦!首先一定要写package xin;!因为它在xin目录下,不写的情况除非这个class文件就在class目录下。
其次是定义类public class a{}。
类当中有变量的声明:private static int count;。至于这里的public/private,static什么的,以后再说,一时半会儿搞不清楚。
有方法的定义:public static int getCount(){}。
这里值得注意的一点是,类文件当中定义的类的名称,要与创建的.java文件的文件名一致,否则,会错的。
相关文章推荐
- java编译好的class文件如何在jsp页面中调用
- java编译好的class文件如何在jsp页面中调用
- 如何利用Axis2+Spring实现文件上传(支持jsp页面的form表单提交),Android客户端调用
- jsp页面如何调用多个js文件,css文件一起调用
- jsp页面如何调用多个js文件一起调用
- 关于jsp页面是放在webroot目录下和web-inf下优缺点/(如何访问WebRoot中的CSS和JS文件)
- JSP页面怎样调用Spring配置文件中定义的Bean
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 如何在我自己的web 项目的jsp页面中添加链接,直接让别人通过内网在我的电脑上下载文件
- JAVA后台程序以及JSP页面如何获取properties文件中的值
- 如何把.js文件编译成dll供页面调用?
- 跳过登陆页面直接访问该jsp文件了,这样不好,请问大家如何避免这种问题?
- 如何在加载JSP页面时,同时调用servlet中的方法
- 如何清除客户端的页面缓存文件???用JSP怎么实现???
- 教程-DelphiXE7如何调用Java Class,JAR等文件?
- tomcat启动后,页面浏览时报错 Unable to compile class for JSP的解决方案【原创】
- jsp页面如何引用项目其他文件夹里的css、js文件
- 在一个网站的asp文件下,重定向另一个网站的jsp网页,如何实现在本网站中隐藏调用网站的域名?
- JSP页面调用log4j写日志文件
- 如何在JSP页面中直接调用Action