zoukankan      html  css  js  c++  java
  • JSP配置了虚拟目录使用JavaBean报错

    今天遇到一个很棘手的问题,在jsp文件中使用useBean,网页返回码出现了500服务器内部错误,报错信息如下:

    The value for the useBean class attribute wp.A is invalid.

    之前项目放在tomcat的webapps文件夹下,运行是正常的,现在是配置了虚拟目录,所以与javabean无关,应该是和配置了虚拟目录有关

    尝试了很多方法都没用,最后找到了正确的解决方案(解决方法在最下面,如果会使用javabean的可直接跳过中间部分)

    在此之前,先介绍一下在tomcat的webapps文件夹下新建项目的jsp中如何使用javabean

    1.新建一个java文件,例如:

    package wp;
    public class A {
        private String FirstProperty = new String("");
        public A(){}
        
        public void setFirstProperty(String value) {
            FirstProperty = value;
        }
        
        public String getFirstProperty() {
            return FirstProperty;
        }
    }

    注意:javabean中至少要包含一个无参的构造函数

    2.在项目的根目录下创建WEB-INF文件夹(区分大小写,不要写错)

    3.在WEB-INF文件夹下创建classes文件夹(名称是固定的)

    4.在classes文件夹下创建与java文件中对应的package后跟名称的文件夹(示例中包名为wp)

    5.编译写好的java文件,将生成的.class文件放到最终的包(wp)下

    6.最后在jsp文件中通过如下代码使用javabean

    <jsp:useBean id="a" class="wp.A" scope="page" />

    参数解释:id是为要引用的javabean起的名字,class的值即为javabean的class文件所在的位置(后面不要跟.class),scope是设置bean的有效范围(生命周期),当前设置的是仅在本页面有效

    javabean的调用

    通过a.setXXX("")和a.getXXX()使用javabean中定义的方法

    最后,就是本篇的重点所在,关于配置了虚拟目录(不会配置的自行搜索),使用javaBean报错

    很简单,就是将WEB-INF文件夹建立在所配置虚拟目录的根目录

    (如果虚拟目录为D:workspace 在此文件下创建个人项目名为Demo,通常的做法是将WEB-INF文件夹直接建立在Demo下,这是错误的,而是需要建立在workspace的根目录下)

  • 相关阅读:
    Python 获取校内(人人网)的所有好友照片存储到本地
    Learning DNN Module Developers guide
    第一次用blog
    杂谈:淘宝商城“暴动”事件
    百度三维地图体验(坑爹啊有图有真相)
    从历史的角度杂谈《中国没有乔布斯,美国没有史玉柱》说起
    南漂一年个人随想录
    我离淘宝有多远?
    centos搭建Git分布式管理控制系统
    乔布斯与中国
  • 原文地址:https://www.cnblogs.com/cxsy/p/6603970.html
Copyright © 2011-2022 走看看