标签: wicket

Youtube嵌入:不安全的JavaScript尝试访问框架

我们有一个Wicket应用程序,其中包含一个包含嵌入式Youtube视频的页面.视频嵌入并播放正常,但显然它会导致页面的其余部分无法呈现 - 看起来嵌入的DOM元素似乎不会显示在页面上,尽管它在标记中.

查看Chrome中的错误控制台会显示:

不安全的JavaScript尝试使用网址http://yample.com/detail/COMMUNICATION/search/com-sonyericsson-hanashi 从URL http://www.youtube.com/embed/eJY7_De5opI?enablejsapi=1&autohide=1&showinfo访问框架 = 1.域,协议和端口必须匹配.

我用Google搜索了相当数量,人们似乎在说这是无害的并且无视它.这似乎是错的,在我们的例子中,它实际上打破了页面.

如果我们更改我们的应用程序以便通过ajax回调动态嵌入视频(用户单击Wicket AjaxLink),我们仍然会在控制台中收到错误,但至少页面会完全呈现.不幸的是,这对我们不起作用,因为我们需要在用户第一次点击页面时默认加载视频.

编辑:我应该补充一点,虽然错误消息来自Chrome控制台,但该错误似乎影响了我尝试过的每个浏览器:Chrome,Safari和Firefox.

javascript youtube iframe wicket

55
推荐指数
3
解决办法
6万
查看次数

范围'session'对于当前线程不活动; IllegalStateException:未找到线程绑定请求

我有一个控制器,我希望每个会话都是唯一的.根据spring文档,实现有两个细节:

1.初始Web配置

为了在请求,会话和全局会话级别(Web范围的bean)支持bean的范围,在定义bean之前需要一些小的初始配置.

web.xml在文档中显示了以下内容:

<listener>
  <listener-class>
    org.springframework.web.context.request.RequestContextListener
  </listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

2. Scoped bean作为依赖项

如果要将(例如)HTTP请求作用域bean注入另一个bean,则必须注入AOP代理来代替作用域bean.

@Scope提供了proxyMode如下所示的bean注释:

@Controller
@Scope(value="session", proxyMode=ScopedProxyMode.TARGET_CLASS)
public class ReportBuilder implements Serializable {
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

问题

尽管有上述配置,但我得到以下异常:

org.springframework.beans.factory.BeanCreationException:创建名为'scopedTarget.reportBuilder'的bean时出错:当前线程的作用域'session'不活动; 考虑为这个bean定义一个范围代理,如果你想从一个单例引用它; 嵌套异常是java.lang.IllegalStateException:找不到线程绑定请求:您是指在实际Web请求之外的请求属性,还是在最初接收线程之外处理请求?如果您实际在Web请求中操作并仍然收到此消息,则您的代码可能在DispatcherServlet/DispatcherPortlet之外运行:在这种情况下,请使用RequestContextListener或RequestContextFilter来公开当前请求.

更新1

下面是我的组件扫描.我有以下内容web.xml:

<context-param>
  <param-name>contextClass</param-name>
  <param-value>
    org.springframework.web.context.support.AnnotationConfigWebApplicationContext
  </param-value>
</context-param>

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>org.example.AppConfig</param-value>
</context-param>

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

以下内容AppConfig.java:

@Configuration
@EnableAsync
@EnableCaching
@ComponentScan("org.example")
@ImportResource("classpath:applicationContext.xml")
public class AppConfig implements AsyncConfigurer {
  ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

更新2

我创建了一个可重现的测试用例.这是一个小得多的项目,因此存在差异,但会发生同样的错误.有相当多的文件,所以我上传它作为一个tar.gzmegafileupload.

spring wicket

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

Wicket vs Vaadin

我在Wicket和Vaadin之间挣扎.我正在开始一个微观的,需要选择Web框架.我已经缩小了对Wicket和Vaadin的选择范围.我使用过这两种框架,我喜欢它们.但是我需要做出选择.

如果我选择Vaadin:

  1. 我不必担心外观和感觉.它配有漂亮的主题.
  2. 我将用Java编写所有我非常擅长的编程,并且不必花时间去攻击不太擅长的CSS.
  3. 我需要用于业务应用程序的大部分组件都包括在内,包括桌面布局,工具提示,键盘快捷键,带有可拖动和可折叠列的表等等.

但是,如果我去Vaadin方式:

  1. 我将失去以声明方式创建UI的能力.
  2. 如果浏览器不支持JavaScript,我不会有后备功能 - 例如大多数非Webkit移动浏览器.
  3. Vaadin公司正在销售一些组件 - 例如JPAContainer,所以我不确定公司是否会致力于提供完整的开源框架.商业利益永远是第一位的.
  4. Vaadin应用程序主要用于Intranet.它们不太适合具有网络外观和互联网的互联网.

如果我走Wicket的方式:

  1. 我将不得不设计我的应用程序,我很难给他们一个桌面的外观和感觉.

有什么建议?任何有这两个框架经验的人都要告诉我利弊和专业人士以及你如何做出决定.

java ria wicket vaadin

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

Apache Tapestry和Apache Wicket之间的区别

Apache Wicket(http://wicket.apache.org/)和Apache Tapestry(http://wicket.apache.org/)都是面向组件的Web框架 - 与Apache Foundation的基于行为的框架(如Stripes)相反.两者都允许您使用Java中的组件构建应用程序.它们看起来和我很相似.

这两个框架之间有什么区别?有人有经验吗?特别:

  • 他们的表现如何,国家处理能够定制多少,他们可以无国籍地使用吗?
  • 它们的组件模型有什么区别?
  • 您会选择哪些应用程序?
  • 他们如何与Guice,Spring,JSR 299集成?

编辑:我已经阅读了两者的文档,我已经使用过两者.这些问题不能通过阅读文档来回答,而是根据使用这些问题一段时间的经验,例如如何在无状态模式下使用Wicket用于高性能站点.谢谢.

java wicket tapestry web-frameworks

45
推荐指数
3
解决办法
2万
查看次数

程序化使用Spring Security

我正在将Wicket与Wicket Auth项目一起用于我的表示层,因此我将其与Spring Security集成在一起.这是Wicket为我进行身份验证调用的方法:

@Override
public boolean authenticate(String username, String password) {
    try {
        Authentication request = new UsernamePasswordAuthenticationToken(
                username, password);
        Authentication result = authenticationManager.authenticate(request);
        SecurityContextHolder.getContext().setAuthentication(result);
    } catch (AuthenticationException e) {
        return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

我的Spring Security XML配置的内容(内部)是:

<http path-type="regex">
    <form-login login-page="/signin"/>
<logout logout-url="/logout" />
</http>
<global-method-security secured-annotations="enabled" />
<authentication-manager alias="authenticationManager"/>
<authentication-provider user-service-ref="userService">
    <password-encoder ref="bcryptpasswordencoder" />
</authentication-provider>
Run Code Online (Sandbox Code Playgroud)

2.3.6.会话修复攻击保护参考文档说:

会话固定攻击是潜在的风险,恶意攻击者可以通过访问站点创建会话,然后说服其他用户使用相同的会话登录(通过向他们发送包含会话标识符作为参数的链接,例).Spring Security通过在用户登录时创建新会话来自动防止这种情况.如果您不需要此保护,或者它与其他一些要求冲突,您可以使用session-fixation-protection属性控制行为,有三种选择:

  • migrateSession - 创建新会话并将现有会话属性复制到新会话.这是默认值.
  • none - 什么都不做.原始会话将保留.
  • newSession - 创建新的"干净"会话,而不复制现有的会话数据.

身份验证有效,但我是Spring Security的新手,我还有一些问题需要解答:

  • 通常,对于登录,我会将身份验证信息POST, …

java spring wicket spring-security

37
推荐指数
3
解决办法
3万
查看次数

在Tomcat 5.5中部署web-app时如何解决Error listenerStart?

我已经部署了一个Apache Wicket Web应用程序,它将Spring和Hibernate用于我的Tomcat 5.5实例.当我导航到Tomcat Manager界面时,我发现我部署的Web应用程序没有运行.当我按下"开始"时,我收到以下错误消息; "失败 - 在上下文路径/意大利面条中的应用程序无法启动".

我的catalina.log包含以下内容:

Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile  
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar)   - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class  
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile  
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class  
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start  
SEVERE: Error listenerStart  
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start  
SEVERE: Context [/spaghetti] startup failed due to previous errors
Run Code Online (Sandbox Code Playgroud)

摘自web.xml: …

java deployment spring tomcat wicket

35
推荐指数
3
解决办法
12万
查看次数

如何解决无法创建Java虚拟机启动器的虚拟机错误?

我正在研究java wicket框架和Apache tomcat.这里我有问题当我尝试
启动tomcat时它显示Java虚拟机启动器弹出窗口"无法创建
Java虚拟机".
单击Pop窗口上的"确定"按钮后,它会在控制台上显示错误.

VM初始化期间发生错误.
无法为对象堆保留足够的空间.

请给我任何参考或建议.
提前致谢.

java eclipse wicket version tomcat6

35
推荐指数
4
解决办法
15万
查看次数

框架比较:电梯,游戏和检票口

框架Lift,Play和Wicket有哪些优缺点?哪些特征最好或仅受每个特征支持?

谢谢

wicket scala lift playframework

33
推荐指数
2
解决办法
8257
查看次数

Apache Wicket有哪些缺点?

我已经阅读了很多关于Apache Wicket的好消息,但很难找到坏事.由于没有框架始终是解决每个问题的正确解决方案,Wicket的缺点是什么以及您不使用哪种类型的项目?

也许不是一个流行的问题,但我认为这是一个重要的问题.

java frameworks wicket

33
推荐指数
4
解决办法
2万
查看次数

您对Scala + Wicket的体验

你能分享一下你一起使用Scala和Wicket的经历吗?它们是否适合彼此?你是否利用Scala(和FP)与Wicket相比使用Java?你为什么喜欢Wicket而不是Lift?

wicket scala

30
推荐指数
1
解决办法
7613
查看次数