小编Boz*_*zho的帖子

java中的网络通信加密

我和朋友正在开发一个带有客户端/服务器架构的Java游戏.它运作良好,但我遇到了一个问题.我们使用TCP套接字在服务器和客户端之间建立联网.我们的网络协议没有加密,只能由不愿意观看流的人阅读.

我们考虑过如何应用某种加密技术来隐藏登录信息并阻止人们编写自己的客户端.但是添加/减少字节等基本内容似乎很容易理解.

用于加密游戏网络通信(或至少是游戏登录信息)的常用方法是什么?在java中编写服务器和客户端,是否有任何有用的Java库?

java security encryption networking

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

在java中将字节数组转换为Blob的最简单方法

使用java编程语言在MYSQL中将字节数组转换为Blob数据类型的最简单方法是什么?

java mysql blob jdbc

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

从JPA持久化上下文中分离实体(JPA 2.0/Hibernate/EJB 3/J2EE 6)

我编写了一个无状态EJB方法,允许以"只读"模式获取实体.

执行此操作的方法是使用EntityManager获取实体,然后将其分离(使用JPA 2.0 EntityManager).

我的代码如下:

@PersistenceContext
private EntityManager entityManager;

public T getEntity(int entityId, Class<T> specificClass, boolean readOnly) throws Exception{
  try{
    T entity = (T)entityManager.find(specificClass, entityId);
    if (readOnly){
      entityManager.detach(entity);
    }
    return entity;
  }catch (Exception e){
    logger.error("", e);
    throw e; 
  }
}  
Run Code Online (Sandbox Code Playgroud)

获取实体工作正常,但对detach方法的调用返回以下错误:

GRAVE: javax.ejb.EJBException
    at ...
Caused by: java.lang.AbstractMethodError: org.hibernate.ejb.EntityManagerImpl.detach(Ljava/lang/Object;)V
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.detach(EntityManagerWrapper.java:973)
    at com.mycomp.dal.MyEJB.getEntity(MyEJB.java:37)
Run Code Online (Sandbox Code Playgroud)

我无法获得更多信息,也不明白问题是什么......

有人可以帮忙吗?

hibernate jpa ejb-3.0

8
推荐指数
1
解决办法
8512
查看次数

如何根据Content-type添加响应头; 在提交响应之前获取Content-type

我想Expires为所有image/*和设置标题text/css.我正在这样做Filter.然而:

  • 在调用chain.doFilter(..)Content-type 之前还没有"实现"
  • 调用chain.doFilter(..)Content-type 后,内容长度也是如此,禁止添加新标题(至少在Tomcat实现中)

我可以使用所请求资源的扩展,但由于某些css文件是由richfaces通过从jar文件中获取而生成的,因此文件的名称不是x.css,但是/xx/yy/zz.xcss/DATB/....

那么,有没有办法在提交响应之前获取Content-type.

java tomcat servlets

8
推荐指数
1
解决办法
4697
查看次数

Java关键字不允许作为EL标识符

最近我将我的开发tomcat从7.0.0升级到7.0.4.我有类似的东西:

<c:set var="static" value=".." />
<c:set var="class" value=".." />
Run Code Online (Sandbox Code Playgroud)

两者都在7.0.0上工作但在7.0.4上停止工作.我打开了一个bug,它被关闭了,答案是:

就其本身而言,该标签将进行编译.

对Java标识符的检查已添加到EL处理中,因此我怀疑您在页面的其他位置有一些非法的EL.

这听起来不太清楚,但我没有得到随后的答案,所以我看了EL规格.对于JSP 2.1(最新版本为2.2),我发现:

第1章,第21页:标识符被约束为Java标识符 - 例如,no - ,no /等.

这是我发现的最多.我将以适用于java标识符的语法要求适用的方式读取此行,但不应用保留字(因为更新class也不会static出现在EL中的保留字列表中).JLS没有被称为术语"Java标识符"(并且它适用于2.2规范中的一些其他情况,我没有完全查看)

那么,Tomcat是否有权拒绝这些名字; 他们指的是哪个规范,你认为他们正确地解释它.

java jsp tomcat el

8
推荐指数
1
解决办法
2722
查看次数

类"部门"已映射,但不包含在任何持久性单元中

我收到此错误,我不知道原因:类"部门"已映射,但未包含在任何持久性单元中.

我有两个项目.一个是在我的persistence.xml中,在tag之间,只有两行:

<persistence-unit name="UserJPA">
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

我的班级是:

package br.com.jm.user;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;;

@Entity
@Table(name = "DEPARTMENT")
public class Department implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private Long id;
    private String name;

//getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我正在使用EclipseLink2.1.2.实际上我可以删除它,如果它使事情更容易.

拥抱,德米特里奥

java jpa eclipselink

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

8
推荐指数
3
解决办法
5557
查看次数

在多线程Web应用程序中访问请求范围的bean

场景:我们有一个在Websphere中运行的Spring托管Web应用程序.(Spring 3.0.x,WAS 7)webapp通过Spring WorkManagerTaskExecutor(配置线程池大小为10)利用Websphere的工作管理器来执行计算密集型数据库读取操作.所以基本上,一个请求来生成,比方说,生成10个不同的文档.要生成文档,只需要db读取来收集/处理数据.因此,我们基本上产生10个线程来处理10个文档,最后收集10个工作者返回的10个文档并合并它们并向客户端写回一个大响应.我们确定的是,当10个线程正在收集/处理数据时,会产生大量类似的数据库调用.所以我们想出的是围绕最常执行的db方法创建一个Aspect来缓存响应.方面配置为单例,方面使用的缓存自动连接到方面,并将范围设置为请求范围,以便每个请求都有自己的缓存.

问题:现在这个方法的问题是,当线程正在进行数据库调用而Aspect是interjects时,我们会遇到java.lang.IllegalStateException: No thread-bound request found异常.我理解的是完全有效的,因为线程正在请求上下文之外执行.

有没有办法绕过这个问题?是否可以将带有请求范围缓存的方面应用于这些线程调用的方法?

java spring multithreading

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

关闭弹簧文件的XSD验证

Spring尝试针对xml架构验证xml配置文件.哪个没问题,但可能存在验证失败的情况(例如,过时的架构).有没有办法关闭xsd验证?

java xml spring

8
推荐指数
1
解决办法
6593
查看次数

Spring MVC defaultHtmlEscape - 它在进出的方式上有效吗?

当我设置defaultHtmlEscape要true在web.xml,在所有输入字段设置的值便得到了转义.

但是当提交它们时,值不会被转义.

那么,这个参数是否仅用于输出,并且不包括参数的提交是真的(因此,如果我想在数据库中存储xss-safe值,我应该做其他事情)

java spring spring-mvc

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