bean.jsp <%-- JSP学习笔记 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <jsp:useBean id="person" class="Person" /> <html> <head> <title>jsp测试</title> &l…
通过JSP编译器编译后生成了对应的java文件,接下去要把Java文件编译成class文件.对于这部分完全没有必要重新造轮子,常见的优秀编译工具有Eclipse JDT Java编译器和Ant编译器.Tomcat其实是同时支持两个编译器的,通过配置可以选择,而默认是使用Eclipse JDT编译器. 通过调用这些现成的编译器的API就可以方便地实现对java文件的编译,由于两个编译器功能基本一样,我们就挑默认编辑器看下它是如何进行编译的,下面仅看如何用Eclipse JDT编译器编译java文件…
我们知道java虚拟机只认识class文件,要在虚拟机上运行就必须要遵守class文件格式,所以JSP编译成servlet后还需要进一步编译成class文件,但从JSP文件到java文件再到class文件的过程需要考虑的事情比较多,其中一个比较重要的就是调试问题,由于语法不一样,jsp某行执行的逻辑怎样与java文件对应起来,这样在JVM执行过程发生异常或错误才能找到JSP对应的行,提供一个友好的调试信息.类似的,jsp文件名编译后的java文件名同样也要有映射关系. 总的来说,为了解决从非ja…
JSP编译后的Servlet类会是怎样的呢?他们之间有着什么样的映射关系?在探讨JSP与Servlet之间的关系时先看一个简单的HelloWorld.jsp编译成HelloWorld.java后会是什么样. ①HelloWorld.jsp <%@ page contentType="text/html; charset=gb2312" language="java" %> <!DOCTYPE HTML PUBLIC "-//W3C//DT…
1.bean法则 JavaBean和企业JavaBean是完全不相干的两个东西.普通的非企业JavaBean需要满足一定的规范才能被JSP和servlet使用: 1)必须有一个无参数的公共构造函数: 2)必须按命名约定来命名公共的获取方法和设置方法: 3)设置方法的参数类型和获取方法的返回类型必须一样: 4)性质名和类型是由获取方法和设置方法得出,而不是得自于类的一个成员: 5)结合JSP使用时,性质类型必须是String或者其他基本类型,否则还是要使用脚本: 2.为什么使用标准动作 通过使用标…
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JSP:useBean,setProperty的使用</…
->Bean的基本要素: 1.必须要有一个不带参数的构造器,在jsp元素创建Bean时会调用空构造器 2.Bean类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,通过setter/getter方法读写量的值 3.Bean类应该在一个包里,不要使用裸体类 ->基本用法: 用法一:(最常用,最简单的用法) <jsp:useBean id="beanName" scope="page | request | session | application…
JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本,是JSP脚本标准化写法…
eclipse jsp:useBean搞死人了 首页,用eclipse需要经常重启tomcat服务器,这是因为你编辑了页面正浏览这个页面,而这个页面还处在之前的错误编译中... 其次,第一次用到useBean简直是搞死人了,需要将写好的useBean文件,编译好后,放置在WEB-INF/classes下面,如:WEB-INF/classes/包名/编译.class…
总的来说,Jasper的自己主动检測实现的机制比較简单,依靠某后台线程不断检測JSP文件与编译后的class文件的最后改动时间是否同样,若同样则觉得没有改动.但倘若不同则须要又一次编译.实际上因为在Tomcat部署的项目的JSP可能引入了其它页面.或者引入了其它jar包,并且这些资源都可能是远程的资源,所以实际处理会比較复杂,同样要遍历检測这些引入的不同资源是否做了改动. 上图是一个形象的示意图.我们知道Tomcat架构中有四个级别的容器,Engine.Host.Context和Wrapper,…