Java Bean导入[JSP/Eclipse]
我对Eclipse/JSP/Beans相当陌生,但我必须在JSP文件中使用bean来创建一个项目。我有两个项目。 A) 包含JSP文件的Maven项目 B) 使用bean的EJB项目 我尝试使用以下行在JSP文件中导入bean: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
<%@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