小编Pie*_*syP的帖子

如何为GlassFish Web应用程序提供对外部资源(文件)的访问?

我是一个GlassFish初学者,所以请原谅我对这个问题的无知.

基本上我们正在为一个游戏网站提供服务,并且可以通过我们的网络应用程序下载客户端,我们将其复制到domain1中的目录中.这样做的问题是,当重新部署Web应用程序时,可下载的客户端将丢失,我们必须再次将其复制.

我希望能够将可下载的客户端存储在某个外部位置,并让GlassFish提供对它的访问.

我可以将链接硬编码到Web应用程序中,但之后我们将失去可移植性,这就是让GlassFish处理它的原因.

我也可以将客户端下载到我们的数据库中,但这似乎是对数据库的不良使用,也可能导致数据库性能不佳.

我发现的第三个选项是从一些名称添加自定义资源映射到文件位置,然后在我的一个bean中提供一个方法来检索文件位置.这似乎有很多工作只是为了拥有一个外部资源,我觉得必须有一个更简单的方法.

所以我该怎么做?

java resources web-applications file glassfish

5
推荐指数
1
解决办法
8136
查看次数

为什么我不应该将JSF SessionScoped bean用于逻辑?

我正在使用带有购物车样式流程的JSF开发一个java EE Web应用程序,所以我想在多个页面上收集用户输入,然后用它做一些事情.

我正在考虑使用EJB 3有状态会话bean,但是我的研究让我相信SFSB并不依赖于客户端的http会话,因此我必须通过httpSession手动跟踪它,一些方面的问题这里 ...

1)为什么它被称为会话bean,据我所知它与会话无关,我可以通过在会话中存储pojo来实现同样的目的.

2)能够注射它的重点是什么,如果所有我要注射'是这个SFSB的新实例那么我不妨使用pojo?

回到我看到的主要问题,JSF是一种演示技术,所以它不应该用于逻辑,但它似乎是收集用户输入的完美选择.

我可以将JSF会话作用域bean设置为我所有请求bean的托管属性,这意味着它被注入到它们中,但与SFSB不同,JSF托管会话作用域bean与http会话绑定,因此相同的实例始终被注入只要http会话没有失效.

所以我有多层

第1层)JSF托管请求范围的bean处理演示文稿,每页1个.
第二层)一个JSF托管会话范围的bean,它由请求bean设置了值.
第3层)无状态会话EJB,它对JSF会话范围bean中的数据执行逻辑.

为什么这么糟糕?

另一种选择是使用SFSB但是我必须将它注入我的初始请求bean中,然后将其存储在http会话中并在每个后续请求bean中将其抓回 - 这看起来很麻烦.

或者我可以将所有内容存储在会话中,但这并不理想,因为它涉及使用文字键和强制转换.等等.这容易出错...凌乱!

任何想法都赞赏我觉得我正在与这项技术作斗争,而不是与之合作.

谢谢

jsf ejb stateful java-ee stateful-session-bean

5
推荐指数
2
解决办法
4213
查看次数

了解如何解决"不一致的stackmap框架"异常

我在Web应用程序启动时遇到异常,因为guice正在尝试构建所提到的类.

java.lang.VerifyError: Inconsistent stackmap frames at branch target 2770 in method com.aptusi.apps.magazine.api.servlet.internal.EditorServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;Lcom/aptusi/persistence/runtime/framework/DboSession;)V at offset 200
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2483)
at java.lang.Class.getDeclaredConstructors(Class.java:1891)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:243)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:96)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:845)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:146)
at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:66)
at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:103)
at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102)
at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)`
Run Code Online (Sandbox Code Playgroud)

我知道-XX:-UseSplitVerifier和-noverify jvm选项,但我不想使用,因为我想确保这个项目中的所有代码至少是java版本7.

为了做到这一点,了解我的代码中究竟发生了什么是有用的,我不清楚所提到的200的偏移是什么,但是它可以与行号相关吗?

也有人知道一种方法,我可以找到我的类路径上的所有类的Java版本,我使用maven所以有很多依赖项,所以我正在寻找一种自动方式在类路径上查找任何类可能已编译为低于1.7的java版本?

verification verifyerror maven .class-file java-7

5
推荐指数
1
解决办法
1万
查看次数

我怎样才能找到?android:attr/dividerVertical的定义?

我想看看divider vertical的定义,我不确定属性的含义是什么,但是当点击到intellij中的属性定义时,我被带到attrs.xml并显示以下内容,没有帮助.

<!-- Drawable to use for generic vertical dividers. --> 
<attr name="dividerVertical" format="reference" />
Run Code Online (Sandbox Code Playgroud)

我的具体问题是我正在尝试使用dividerVertical样式实现带有插入列表分隔符的列表.为了做到这一点,我已经定义了自己的插图形状.

<inset xmlns:android="http://schemas.android.com/apk/res/android"
   android:insetLeft="30dip"
   android:insetRight="30dip">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="?android:attr/dividerVertical"/>
</shape>
</inset>
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为android不会接受"?android:attr/dividerVertical"作为颜色.它无论如何都不会起作用,因为divider vertical有一个alpha分量,所以我需要知道的是什么颜色和不透明度是分隔线垂直?但理想情况下我想知道如何检查android中任何资源组件的来源,以便我再也不会遇到这个问题.

谢谢

皮尔斯

android themes android-layout

5
推荐指数
1
解决办法
4662
查看次数