Java Bean导入[JSP/Eclipse]

Java Bean导入[JSP/Eclipse],java,eclipse,jsp,import,javabeans,Java,Eclipse,Jsp,Import,Javabeans,我对Eclipse/JSP/Beans相当陌生,但我必须在JSP文件中使用bean来创建一个项目。我有两个项目。 A) 包含JSP文件的Maven项目 B) 使用bean的EJB项目 我尝试使用以下行在JSP文件中导入bean: <%@page import="beans.TestSessionBean"%> 在浏览了互联网之后。。项目A似乎不包括项目B中的文件(bean)。我的WAR文件的内容最终是这样的: my-webapp |-- META-INF | `-- MANIF

我对Eclipse/JSP/Beans相当陌生,但我必须在JSP文件中使用bean来创建一个项目。我有两个项目。 A) 包含JSP文件的Maven项目 B) 使用bean的EJB项目

我尝试使用以下行在JSP文件中导入bean:

<%@page import="beans.TestSessionBean"%>
在浏览了互联网之后。。项目A似乎不包括项目B中的文件(bean)。我的WAR文件的内容最终是这样的:

my-webapp
|-- META-INF
|   `-- MANIFEST.MF
|--maven
|  `-- directory
|      `-- directory
|         |--pom.properties
|         |--pom.xml
|-- WEB-INF
|   |-- classes
|   |   |-- files
|   |   |   `-- some_file.java
|   |-- glassfish-web.xml
|   `-- web.xml
`-- index.jsp
但是,我在另一个页面中看到,它还应该包括项目B中的bean文件,对吗?(或者我把这里的事情搞混了?)

我还想知道是否需要编辑一些XML文件才能让这些东西正常工作。我不断地遇到提到WEB.xml文件的搜索结果,但我不知道是否应该向其中添加任何内容。因此,我的WEB.xml如下所示:

    <!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

    <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <servlet>
        <servlet-name>tesLet</servlet-name>
        <display-name>tesLet</display-name>
        <description></description>
        <servlet-class>servlet.tesLet</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>tesLet</servlet-name>
        <url-pattern>/tesLet</url-pattern>
      </servlet-mapping>
    </web-app>

Web应用程序创建的原型
特斯拉特
特斯拉特
servlet.tesLet
特斯拉特
/特斯拉特
我还有两个问题。如果转到“项目属性”并将项目添加到“项目首选项”设置,会发生什么情况?(我的意思是,如果我选中项目旁边的一个复选框)

在构建路径下的“订单和导出”选项卡中,复选框做了什么

只能导入类型。TestSessionBean解析为一个包

这是一个误导性的错误。这实际上是一个
NoClassDefFoundError
。这意味着类路径中不存在给定的类

现在,你的项目结构是

|-- WEB-INF
|   |-- classes
|   |   |-- files
|   |   |   `-- some_file.java
然而,这是错误的。这里不应该有
.java
文件,而是编译
.class
文件。确保您有一个
/WEB-INF/classes/beans/TestSessionBean.class
。这将修复特定错误



与具体问题无关:试图在JSP中导入EJB表明存在重大设计错误。我建议花点时间学习。另外,您的
web.xml
指定了Servlet2.3,它已经有十多年的历史了。现在还不清楚您是否真的要部署到Servlet 2.3容器,但我也会尽可能将其升级到最新的Servlet API版本。

您试图将EJB会话bean导入JSP?我知道类的事情,但我开始怀疑Maven eclipse插件是否有问题。也许,这是一个问题,或者我可能不得不以某种方式实际配置它以包含项目B,即使它在Maven依赖项列表中。我正在将它部署到JBoss5.0,但我不知道它使用的是哪个Servlet版本。我也不知道如何在eclipse中升级到更高的Servlet版本我将研究servlet,但我想知道为什么在JSP中使用bean是不好的。我只是不断看到人们说不使用“useBean”,而是使用导入。我不使用Maven,所以我不能详细说明。您只需确保Maven构建的WAR文件在正确的位置包含正确的类文件。这必须解决您遇到的特定错误。JBoss5.0是一个Servlet2.5容器。至于使用豆类;EJB当然不仅仅是一个bean。它是一个业务服务bean。最后但并非最不重要的一点是,在jsp中必须避免使用
jsp:useBean
@page import
。。嗯,忘了那个词了。所以我最终得到了类似Bean>Servlet>Jsp的东西?这意味着实际上在JSP中没有使用bean,而是使用servlet?我只是很难理解豆子有什么用。我读了一些关于它们的文章,但是我不明白它们是用来做什么的。EnterpriseJavaBeans代表了业务模型。另请参见,谢谢,这是一些很好的信息。说我必须改变一些事情现在只需解决构建问题..:|
|-- WEB-INF
|   |-- classes
|   |   |-- files
|   |   |   `-- some_file.java