天道酬勤,学无止境

玻璃鱼编码(Glassfish encoding)

问题

我正在使用本示例和 runUpdate() 函数中的代码,我将其放入带有 Glassfish v3 的 Netbeans 6.8 中的 Web 应用程序中的 javabean 中。 似乎我有编码问题,因为表中出现问号。

到目前为止我已经尝试过:

  1. 在 nbproject->private->private.properties 添加 runtime.encoding=UTF-8>
  2. 在project->properties->sources->encoding utf-8
  3. 在程序文件->netbeans->etc->netbeans_conf 在 netbeans_default_options 我添加 -J-DFile.encoding=UTF-8
  4. 在项目->属性->构建->编译->附加编译器选项-encoding utf-8
  5. 在 sun-web.xml 我添加了<locale-charset-info default-locale="UTF-8"> <locale-charset-map locale="" charset=""/> <parameter-encoding default-charset="UTF-8"/> </locale-charset-info>

此外,当我在 glassfish 输出面板中使用 system.out.print() 时,我得到了胡言乱语。 我处于疯狂的最后阶段,请看一看。 谢谢你。

编辑此外,当我列出 .5 时,我收到一个 glassfish 错误:

WARNING: WEB0500: default-locale attribute of locale-charset-info element is being ignored
回答1

Glassfish 默认使用 ISO-8859-1 编码。 有关更多信息,请参阅 http://download.oracle.com/docs/cd/E19798-01/821-1752/beafu/index.html。

回答2

您是否尝试过使用glassfish-web.xml而不是sun-web.xml

要更改默认的 Glassfish POST 字段编码,我将其放入WEB-INF/glassfish-web.xml ,并且它起作用了(我使用 glassfish 3.1.2):

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD
GlassFish Application Server 3.1 Servlet 3.0//EN"
"http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <parameter-encoding default-charset="UTF-8" />
</glassfish-web-app>

我不确定它是否会帮助你,但可能会帮助其他和我有同样问题的人。

回答3

您确定您的浏览器设置为 UTF-8。 默认情况下,大多数浏览器不以 UTF 显示。 从浏览器开始,然后向后工作。 您的数据源是否以 UTF-8 格式存储数据? 默认情况下,Java 是 UTF-8,所以我不确定 GF 是你真正的问题。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 避免在玻璃鱼上擦掉计时器(Avoid expunging timer on glassfish)
    问题 我有一个用@Schedule注释的方法,该方法有时会被容器调用。 @Schedule(second = "*/5", minute = "*", hour = "*", persistent = false) public void myTimerMethod() throws Exception { ... } 问题是在某些情况下,我希望此方法引发异常以导致正在进行的事务回滚。 但是,如果我执行两次以上,计时器将被删除,不再被调用! INFO: EJB5119:Expunging timer ['68@@1359143163781@@server@@domain1' 'TimedObject = MyBean' 'Application = My-War' 'BEING_DELIVERED' 'PERIODIC' 'Container ID = 89072805830524936' 'Fri Jan 25 21:49:30 CET 2013' '0' '*/5 # * # * # * # * # * # * # null # null # null # true # myTimerMethod # 0' ] after [2] failed deliveries 我知道我可以使用配置在domain.xml中的计时器重新安排 <domains> ... <configs>
  • 无法在 Eclipse 中将应用程序部署到 Glassfish 4.1(Cannot deploy an application to Glassfish 4.1 in Eclipse)
    问题 我在 Ubuntu 上安装了 Glassfish 4.1 和 Eclipse Luna。 当我尝试运行一个简单的 Web 应用程序(jsp + servlet + java bean)时,我收到以下错误: Publishing to Glassfish 4 at localhost[domain1].. has encountered a problem. cannot Deploy mvcprj1 deploy is failing=Application with name [mvcprj1] is not deployed glassfish 服务器日志或 eclipse 控制台中均未出现任何内容。 回答1 我遇到了同样的部署问题(eclipse Lune/Glassfish 4.1),由于 Marvin 的反馈,它得到了解决。 您可以通过以下方式找到“使用 JAR 档案进行部署”:右键单击 eclipse 服务器选项卡中的 glassfish。 然后,选择Monitoring > Properties > Glassfish in new windows > Use JAR archives for deployment 。 然后,奇迹发生了…… 回答2 尝试以下步骤: 右键单击glassfish服务器点击属性然后您将在该框的左侧获得 3 个选项(常规、玻璃鱼、监控)
  • 尝试在 Glassfish 4 上使用 CDI 导致 javax.el.PropertyNotFoundException: Target Unreachable, identifier 'indexMB' 解析为 null [重复](Trying to use CDI on Glassfish 4 results in javax.el.PropertyNotFoundException: Target Unreachable, identifier 'indexMB' resolved to null
    问题 这个问题在这里已经有了答案: 识别和解决 javax.el.PropertyNotFoundException: Target Unreachable (17 个回答) 5年前关闭。 我在单个页面上遇到错误,唯一的错误是在我单击“提交”按钮后发生。 javax.el.PropertyNotFoundException:目标无法访问,标识符“indexMB”解析为空 我遵循 JSF2 表单提交主题的建议“目标无法访问,标识符“myModel”仅在提交时解析为空,但对我没有帮助。 任何帮助都会非常有用。 按照我的设置和我的文件: 玻璃鱼 4 素面 3.5 公共文件上传 1.3 公地-io 2.4 index.xhtml <f:loadBundle basename="i18n" var="bundle" /> <h:head> <title>#{bundle['index_title']}</title> </h:head> <h:body> #{bundle['index_appname']} <br /> <h:form id="frmIndex"> <p:panelGrid columns="2"> <p:outputLabel for="user" value="#{bundle['lblUser']}" /> <p:inputText id="user" value="
  • 通过启动Glassfish 3.1.2在日志中“证书已过期”(“Certificate has expired” in log by starting Glassfish 3.1.2)
    问题 今天,通过启动我的玻璃鱼,我看到了有关证书已过期的错误消息... 有人可以帮我说我可以做/必须做的吗? 这里的消息: ... [exec] [exec] [#|2013-08-15T08:57:42.106+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=39;_ThreadName=Thread-2;|Grizzly Framework 1.9.50 started in: 16ms - bound to [0.0.0.0:1307 6]|#] [exec] [exec] [#|2013-08-15T08:57:42.262+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=1;_ThreadName=Thread-2;|GlassFish Server Open Source Edition 3.1.2.2 (5) startup time : Felix (1'1 23ms), startup services(609ms), total(1'732ms)|#] [exec] [exec
  • GlassFish服务器无法从Eclipse启动,卡在69%(GlassFish server fails to launch from Eclipse, it gets stuck at 69%)
    问题 我正在尝试从Eclipse中在GlassFish 4中测试我的Web应用程序。 当我开始的GlassFish 4文件(startserv.bat),它工作正常,但是当我试图从Eclipse中运行它,它开始加载,但随后的启动过程中被卡在69%,在消息Launching Delegate... 在这种情况下几分钟后,它给我一条错误消息: 重试几次后,我收到以下消息: 即使端口8080(GlassFish的端口)和4848(GlassFIsh的管理端口)上没有任何运行, 以前它对我来说效果很好,但是现在由于某种原因,它不起作用,我没有对它的设置或任何事情做任何事情。 我该如何解决这个问题? 这是我的启动控制台日志:http://pastebin.com/XL0Lh5zw(使用pastebin避免发布过多内容) 回答1 我遇到了同样的问题,消息也一样。 经过长时间的搜索,我放弃了并删除了服务器。 我删除了服务器运行时环境 Glassfish文件不仅仅被删除了eclipse配置,然后我使用现有的glassfish服务器重新创建了服务器运行时和服务器,并解决了问题:D。 回答2 我有同样的问题。 我正在使用Eclipse Luna。 我将GlassFish Tools降级到7.2,然后又重新启动了服务器。 http://download.oracle.com/otn_software
  • 如何为GlassFish域指定JDK?(How do I specify the JDK for a GlassFish domain?)
    问题 我已经安装了GlassFish 2.1.1。 我安装了1.5和1.6 JDK。 即使我的JAVA_HOME变量设置为1.5版本(“ java -version”和“ javac -version”都显示1.5),每当我启动glassfish域时,它总是在日志顶部指出它使用的是1.6版。 我该如何覆盖呢? Starting Domain domain2, please wait. 04-May-2012 08:38:47 com.sun.enterprise.admin.servermgmt.launch.ASLauncher buildCommand INFO: C:/Dev/jdk/1.6/1.6.0_19\bin\java 回答1 在这里,您可以找到如何为Glassfish设置JDK的路径:http://www.devdaily.com/blog/post/java/fixing-glassfish-jdk-path-problem-solved 查看 glassfish\config\asenv.bat 配置Java路径的位置 REM set AS_JAVA=C:\Program Files\Java\jdk1.6.0_04\jre/.. set AS_JAVA=C:\Program Files\Java\jdk1.5.0_16 回答2 从dbf的链接中添加实际内容
  • 如何配置在AWS / ElasticBeanstalk / Docker上运行的GlassFish实例?(How to configure a GlassFish instance running on AWS/ElasticBeanstalk/Docker?)
    问题 我正在使用GlassFish来提供Java EE Web应用程序。 在我本地的开发机器上一切正常。 我有 将postgres JDBC库复制到正确的位置在Glassfish管理控制台中配置了连接池和JDBC资源部署了使用上述连接的网络应用在我的浏览器中看到了结果 我正在尝试将同一应用程序部署到AWS Elastic Beanstalk托管的Glassfish实例。 AWS-EB使用Docker部署Glassfish实例。 我只能执行上面的第三步(部署一个Web应用程序),而如何做前两个完全不知所措。 我想做的是通过Web访问Glassfish管理控制台,但这似乎不适用于任何级别。 一种替代方法是在本地计算机上使用玻璃鱼“ asadmin”来配置远程玻璃鱼,但是我也无法做到这一点。 如何配置托管在AWS EB上的Glassfish实例? 可能吗? 我已经进行了一些观察,但是不胜感激确认或其他方式: 看来,AWS在其CLI中有一个名为“ asadmin”的命令,该命令与自动缩放有关,并且与glassfish附带的名称为“ asadmin”。 除了使Google搜索困难外,两者似乎与彼此无关如果我连接到包含Docker和Glassfish实例的AWS EC2实例,则会发生以下情况 sudo docker ps返回端口4848 / tcp,8080 / tcp,8181 / tcp
  • 在Glassfish V3上部署的最佳方法(Best way to deploy on Glassfish V3)
    问题 将我的Web项目(或Ear项目)部署到远程服务器和glassfish的最佳方法是什么? 如何使用netbeans为此目的创建的ant-deploy.xml和build-impl.xml? 使用autodeploy文件夹,并分别将sun-resources.xml添加到GF或Using ant and...。 你能一步一步解释我吗? 问候 回答1 好了,您可以通过管理控制台手动部署您的应用程序。 或者,您可以使用asadmin命令。 最简单的远程部署如下所示: asadmin deploy --user=<adminuser> --host=<hostname> <path to jar/war/ear> 这可以用shell脚本编写,也可以包装在Ant或Maven中。 或者,您可以使用更专业的工具(Ant Task,maven glassfish插件,maven asadmin插件,Cargo)。 这完全取决于您的上下文,没有一个答案,并且有很多可能性。 如果您不知道要查找的内容,只需使用NetBeans创建的Ant构建脚本。 回答2 1.先简短回答 结合使用: maven ,以驱动整个构建和部署过程(配置文件和资源过滤对您来说将是非常有价值的功能) 使用asadmin命令的shell脚本(替代glassfish maven插件之一)
  • REST 应用程序中的基本身份验证(Basic authentication in REST-application)
    问题 环境: 爪哇玻璃鱼不同机器上的 REST 服务带有 AJAX 和 JQuery 的 HTML5 客户端球衣 这是我迄今为止实施的: HTML5 客户端 $('#btnSignIn').click(function () { var username = $("#username").val(); var password = $("#password").val(); function make_base_auth(user, password) { var tok = user + ':' + password; var final = "Basic " + $.base64.encode(tok); console.log("FINAL---->" + final); alert("FINAL---->" + final); return final; } $.ajax({ type: "GET", contentType: "application/json", url: "http://localhost:8080/SesameService/webresources/users/secured/login", crossDomain: true, dataType: "text", async: false, data: {}, beforeSend
  • 检查Glassfish DAS是否正在以编程方式运行(Check if Glassfish DAS is running programmatically)
    问题 如何检查Glassfish DAS是否以编程方式运行,即使已将其部署在本地计算机还是远程计算机上? 使用Java6 回答1 我找到了一种方法来检查DAS是否已启动,而不是Linux脚本。 通过这种方式,我的应用程序和DAS都在同一台计算机上还是每台安装在不同的计算机上都没有关系。 public static boolean isUrlReachable(String host) { String URLName="http://"+host+":4848"; boolean isUp = false; try { HttpURLConnection.setFollowRedirects(false); HttpURLConnection con = (HttpURLConnection) new URL(URLName).openConnection(); con.setRequestMethod("GET"); isUp = (con.getResponseCode() == HttpURLConnection.HTTP_OK); con.disconnect(); } catch (Exception e) { return isUp; } return isUp; } 回答2 您可以使用socket来检查您的连接是否建立: 我使用这种方式与我一起工作: private
  • 如何将Glass fish服务器与eclipse luna一起用于Java EE?(How do I use Glass fish server with eclipse luna for Java EE?)
    问题 当您为Java EE安装Glass fish工具时,我以为Glass Fish服务器是Eclipse附带的。 但是,在尝试安装Glass Fish工具后,它说没有任何更新。 好的,所以当我尝试启动服务器时,它会询问服务器根目录。 玻璃鱼服务器是否随Eclipse一起提供? 如果是这样,我将如何定位? 或者,如果我需要将其安装在我的计算机上,为什么它不能将安装Glass fish服务器的文件夹识别为Glass Fish Server的有效安装? 预先感谢您的帮助,布鲁斯 回答1 下载Glassfish4并将其解压缩。 将glassfish服务器添加到Eclipse时,请找到Glassfish4文件夹内的glassfish文件夹。 然后你去。 Eclipse EE不随服务器一起提供,仅随EE开发工具一起提供。 回答2 从市场上安装“ GlassFish Tools for Luna”后,获取glassfish-4.0.zip,将其解压缩(出现glassfish4文件夹)。 选择窗口-首选项-服务器-运行时环境-添加...,选择GlassFish4-接下来,将服务器根指定为解压缩后出现的glassfish4文件夹的绝对路径glassfish子文件夹(例如/ home /(用户名)/ glassfish4 / glassfish-我使用Xubuntu)。 单击完成。 安装完成。
  • Hibernate 5 java.lang.NoSuchMethodError org.jboss.logging.Logger.debugf(Hibernate 5 java.lang.NoSuchMethodError org.jboss.logging.Logger.debugf)
    问题 我在使用Hibernate 5部署Web应用程序时遇到问题 Caused by: java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V at org.hibernate.internal.NamedQueryRepository.checkNamedQueries(NamedQueryRepository.java:149) [hibernate-core-5.0.0.CR2.jar:5.0.0.CR2] at org.hibernate.internal.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:759) [hibernate-core-5.0.0.CR2.jar:5.0.0.CR2] at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:490) [hibernate-core-5.0.0.CR2.jar:5.0.0.CR2] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build
  • 如何在Glassfish中使用第三方库?(How to use 3rd party libraries in glassfish?)
    问题 我需要从运行在glassfish 3.0.1上的EJB3应用程序连接到MongoDB实例。 Mongo项目提供了一组驱动程序,我可以在独立的Java应用程序中使用它们。 我将如何在Java EE应用程序中使用它们? 也许是更好的措辞:当我的应用程序在EJB容器中运行时,如何使我的应用程序可以使用第三方库? 目前,在部署尝试从库中导入的Bean时,出现了java.lang.NoClassDefFoundError: [#|2010-03-24T11:42:15.164+0100|SEVERE|glassfishv3.0|global|_ThreadID=28;_ThreadName=Thread-1;|Class [ com/mongodb/DBObject ] not found. Error while loading [ class mvs.core.LocationCacheService ]|#] [#|2010-03-24T11:42:15.164+0100|WARNING|glassfishv3.0|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=28;_ThreadName=Thread-1;|Error in annotation
  • 使用maven构建后如何运行项目(How to run the project after building with maven)
    问题 我是 maven 的新手。 所以我有一个带有 pom.xml 文件的项目。 所以我用 maven 运行它并且构建成功。 我有玻璃鱼。 Glassfish 已经单独运行。 那么现在使用 Glassfish 运行该项目的下一步是什么? 我的 IDE 是日食。 回答1 您必须首先告诉 Maven 构建 WAR,请查看此插件:http://maven.apache.org/plugins/maven-war-plugin/。 然后你需要告诉 maven 如何部署到 glassfish,你可以配置一个 Maven 执行插件来做到这一点(参见:https://www.mojohaus.org/exec-maven-plugin/)。 或者您可以四处寻找专门用于将 maven 与 glassfish 集成的自定义插件。 这个看起来很有希望,但我没有使用过它:http://maven-glassfish-plugin.java.net/。 Maven 提供了许多开箱即用的基本功能,但大多数具有构建自动化的更酷的东西是通过插件完成的。 更新 只需更新以添加一个非常简单的 Pom 即可进行自动部署。 注意:如果您只是运行“mvn clean install”,并将包装设置为“war”,maven 将为您构建 .war 文件并将其放在 target/ 文件夹中。 如果你只是想开始
  • Java和.NET技术/框架的类似物(Analogues of Java and .NET technologies/frameworks)
    问题 我在一家主要由Java和.NET技术人员组成的商店工作。 在讨论新的解决方案和体系结构时,我们经常会在尝试比较两个阵营之间使用的各种技术,框架,API等时遇到阻力。 似乎每个营地对彼此的了解都不多,我们最终将苹果与橘子进行了比较,而忘记了蒲式耳。 在研究该主题时,我发现了这一点:Java-> .Net粗略等效项 这是一个不错的列表,但还不够详尽,并且缺少关键的.NET 3.0技术和其他一些花絮。 要完成该列表:Java中与.NET中以下内容的近似/近似等效(或技术组合)是什么? WCF〜= WPF〜= Silverlight〜= WF〜= 泛型〜= 扩展方法〜= Lambda表达式〜= Linq(不是Linq-to-SQL)〜= TPL〜= F#〜= IronPython〜= 铁红宝石〜= ...我还错过了其他吗? Java技术(是否有.NET等效项?): 〜= EJB 〜= WebSphere 〜=玻璃鱼 〜= JBoss应用服务器 〜= Tomcat? 请注意,我省略了链接文章中已经介绍的技术。 我也想听听有关链接文章是否正确的反馈。 注意:这似乎变成了Wiki类型的文章,因此我将其标记为这样。 回答1 .NET-> Java WCF〜= JAX-WS(作为WS)和/或JMS(对于MQ)。 WPF〜= Swing(作为UI),Java 2D(用于2D),Java 3D
  • 类文件javax / servlet / ServletException中不是本机或抽象的方法中的缺少Code属性(Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletException)
    问题 我计划在我的应用程序中使用Java servlet。 我将以下内容包含在项目的POM.xml文件中,以加载Java Servlet 3.0实现jar。 <dependency> <groupId>org.glassfish</groupId> <artifactId>javax.servlet</artifactId> <version>3.2-b05</version> </dependency> 该项目编译良好。 但是,当我运行它时,出现以下错误: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/servlet/ServletException 我在这里搜索,找到了一些不错的答案。 我从他们那里发现,当我们包含JAR(仅包含由Servlet API定义的接口,而不包含实际实现)的JAR时,会发生此错误。 因此,我检查了我正在使用的玻璃鱼缸只是接口还是包含实现。 我发现这是一个实现,而不仅仅是接口。 所以现在,我想知道为什么在运行时会出现此错误。 任何人? 更新: 刚才,我发现这是我的一个公然错误(我正在将jar添加到一个项目中,而同时运行一个完全不同的项目!)。 对此我感到抱歉。
  • Glassfish 3.1.2配置用于相互认证的客户端证书(Glassfish 3.1.2 configuration Client Certificate for Mutual Authentication)
    问题 我在配置GF3.1.2时需要帮助,我已经完成了以下更改,如果缺少任何重要信息,请告诉我,因为更改后它不起作用。 我的身份证是nilesh2811@gmail.com 如果在任何链接中有帮助,我在论坛中找不到任何特定主题或答案。 如果您有任何相关文件,请转发。 请只做那些需要的 web.xml <login-config> <auth-method>CLIENT-CERT</auth-method> </login-config> <security-constraint> <web-resource-collection> <web-resource-name>Entire Application</web-resource-name> <url-pattern>/faces/*</url-pattern> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <description/> <role-name>authorized</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data
  • org.apache.jasper.JasperException:PWC6345:调用javac时出错。 需要完整的JDK(不仅仅是JRE)(org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required)
    问题 在此发布此问题之前:我抬头看着 1)IDEA 11.1.4中的Glassfish 3.1.2.2:“PWC6345:调用javac时出错。需要完整的JDK(而不仅仅是JRE)” 2)如何为玻璃鱼域指定jdk? 3)http://alvinalexander.com/blog/post/java/fixing-glassfish-jdk-path-problem-solved 4)https://www.java.net//node/702274 5)“ PWC6345:调用Javac时出错。” 使用Jetty WTP插件在Jetty上部署JSP页面时发生错误 我可以在eclipse中打开glassfish管理窗口,但是当我尝试运行我的项目时,出现此烦人的错误:“ org.apache.jasper.JasperException:PWC6345:调用javac时出错。完整的JDK (不仅是JRE)是必需的” 我看了上面列出的帖子,但对我而言没有用...我设置了我的java环境。 但是他们没有解决我的问题。 我仍然会收到标题中的错误,类似的问题上已经发布了一个问题,但没有我需要的答案...。 回答1 这可能与m2clipse插件遇到的问题相同:启动Eclipse时,您必须告诉eclipse使用JDK。 仅在“窗口”>“首选项”上设置JDK / JRE无效。 例如,添加以下参数:
  • 无法从Netbeans 7.4运行Glassfish 4 Admin(密码不正确)(Glassfish 4 Admin not running from Netbeans 7.4 (Password Incorrect))
    问题 我正在尝试使用Netbeans 7.4 IDE运行Glassfish 4,但是却收到类似的错误对话框 Please check server admin user name and password properties. Also please check the server log file for other possible causes. 我传递了正确的用户名和密码,我通过从Windows命令提示符下运行glassfish 4来确保相同的用户名和密码,它可以正常运行,但不能从Netbeans 7.4中运行 服务器日志也附有供您参考。 [2013-08-21T21:09:02.736+0530] [glassfish 4.0] [INFO] [NCLS-LOGGING-00009] [javax.enterprise.logging] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1377099542736] [levelValue: 800] [[ Running GlassFish Version: GlassFish Server Open Source Edition 4.0 (build 89)]] [2013-08-21T21:09:02.740+0530] [glassfish 4.0] [INFO]
  • 将EJB注入JAX-RS(RESTful服务)(Inject an EJB into JAX-RS (RESTful service))
    问题 我试图通过注释将无状态EJB注入到JAX-RS Web服务中。 不幸的是,EJB只是null ,当我尝试使用它时会收到NullPointerException 。 @Path("book") public class BookResource { @EJB private BookEJB bookEJB; public BookResource() { } @GET @Produces("application/xml") @Path("/{bookId}") public Book getBookById(@PathParam("bookId") Integer id) { return bookEJB.findById(id); } } 我究竟做错了什么? 以下是有关我的机器的一些信息: 玻璃鱼3.1 Netbeans 6.9 RC 2 Java EE 6 你们可以举一些可行的例子吗? 回答1 我不确定这是否行得通。 所以: 选项1:使用注入提供程序SPI 实现将进行查找并注入EJB的提供程序。 看: @EJB注入。 com.sun.jersey:jersey-server:1.17的示例: import com.sun.jersey.core.spi.component.ComponentContext; import com.sun.jersey.core.spi