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的根目录下)

  • 相关阅读:
    HDU 1572 (DFS)
    UVA 439 BFS 骑士的移动
    STL next_permutation 和 prev_permutation
    Fire Net
    HDU 1026
    Awesome CS Courses 超级棒的课程
    Tensorflow 最佳实践样例程序-mnist
    关于交叉熵在loss函数中使用的理解
    神经网络训练程序,tensorflow
    神经网络前向传播算法的tensorflow实现。
  • 原文地址:https://www.cnblogs.com/cxsy/p/6603970.html
Copyright © 2011-2022 走看看