易截截图软件、单文件、免安装、纯绿色、仅160KB

jsp中使用javabean的两点注意事项

jsp中使用javabean的两点注意事项
首先一点:javabean一定要放在命名包里,不能放在默认包里,也就是在bean文件的开头要package pname;了,如果不放在命名包里而放在了默认包里,最后将报如下这样的错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 18 in the jsp file: /javabean.jsp
TempBean cannot be resolved to a type
这个原因起初我也很不解,后来在网上查来查去才知道,java现在已经不允许命名包里的类调用默认包里的类了,也不允许在命名包里使用import classname(这个是默认包里的类)来引用默认包里的类了,所以才会出现以上问题。拿tomcat来说,它是先将jsp文件转换成java文件,然 后再将其编译成class文件来使用,但是tomcat转换成的java文件是定义在一个包里的,这个可以在tomcat的work目录中的java文件 中看到,所以如果javabean放在默认包里的话,因为java本身的语言规范定义,jsp生成的java文件就无法使用javabean了。我觉得也 由此可以得出,在jsp网页中以各种形式来使用放在默认包里的java类,都可能会引起编译错误,所以在jsp项目中,所有的类应该都放到自己相应的包 里,不要使用默认包。但是这里也有一个比较诡异的问题,虽然按JAVA规范说的是那样,但是如果在jsp网页中使用了默认包的类,只要把它用到的默认包的 class文件考到tomcat的work目录中的相应文件夹下,就不会发生上面所说的编译错误而能正常运行,至于原因是什么我也搞不懂,不太清楚 tomcat对类的搜寻机制。反正为了确保不出错误,还是把类放在命名包中,不要使用默认包就好。
第二点,这个可能也就是我这种笨蛋碰到了,就是在使用jsp:setProperty,jsp:getProperty这样的标签的时候,它的 property属性一定要用小写,不管javabean里的属性名的大小写如何,这里一定要写小写,不然就报什么Cannot find any information on property 'Msg' in a bean of type 'test.TestBean'之类的错误。
至于其他的基本上就是标准的javabean使用了,什么要有公共无参的构造函数,还有各个属性要有set/get方法,还有javabean要是一个public类。就这些吧!唉,头疼!


相关文档:

JSP学习(一)

JSP基本语法
大部分JSP被一个以“<%” 开头和以“%>”结尾的的标记括在其中。在更新的JSP 1.1规范出台后,就有了与XML兼容的版本。
JSP指令和脚本元素
Directives <%@ directive %>
Declarations <%! declaration %>
Expressions <%= expression %>
Code Fragment/ ......

jsp访问MySQL数据库错误

不知道是不是驱动加载有问题,在MyEclipse中写了简单的数据库测试程序找不到驱动类,希望大虾能给予帮助,谢了。
严重: Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: org.aspectj.lang.Signature
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClas ......

JSP九大内置对象及四个作用域

九大对象:
内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用
1-out:
javax.servlet.jsp.JspWriter类型,代表输出流的对象。作用域为page(页面执行期)
request:javax.servlet.ServletRequest的子类型,此对象封装了由WEB浏览器或其它客户端生成地HTTP
请求的细节(参数 ......

JSP 容器的初始化和销毁 ServletContext(转)

ServletContext 被 Servlet 程序用来与 Web 容器通信。例如写日志,转发请求。每一个 Web
应用程序含有一个Context,被Web应用内的各个程序共享。因为Context可以用来保存资源并且共享,所以我所知道的
ServletContext 的最大应用是Web缓存----把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要进行慢速的磁 ......

jsp九种内置对象


JSP九种内置对像,不用定义可直接使用:request,请求对象;response,响应对象;pageContext,页面上下文对象;session,会话对象;application,应用程序对象;out,输出对象;config,配置对象;page,页面对象;exception,例外对象。
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号