Tag: java ee

如何使用JSESSIONID手动加载Java会话?

我有一个处理多部分表单post的servlet。 post实际上是由嵌入在页面中的Flash文件上传组件制作的。 在某些浏览器中,Flash生成的POST不包含JSESSIONID,这使得我无法在post期间从会话中加载某些信息。 Flash上​​传组件在特殊表单字段中包含cookie和会话信息。 使用此表单字段,我实际上可以检索JSESSIONID值。 问题是,我不知道如何使用此JSESSIONID值手动加载该特定会话。 编辑 –基于ChssPly76的解决方案,我创建了以下HttpSessionListener实现: @Override public void sessionCreated(final HttpSessionEvent se) { final HttpSession session = se.getSession(); final ServletContext context = session.getServletContext(); context.setAttribute(session.getId(), session); } @Override public void sessionDestroyed(final HttpSessionEvent se) { final HttpSession session = se.getSession(); final ServletContext context = session.getServletContext(); context.removeAttribute(session.getId()); } 这会将所有会话添加到ServletContext,作为由其唯一ID映射的属性。 我可以在上下文中放置一个会话映射,但它似乎是多余的。 请发表有关此决定的任何想法。 接下来,我将以下方法添加到我的servlet以通过id解析会话: private HttpSession getSession(final String […]

EAR与单独的EJB + WAR

将应用程序部署为EAR(使用1个EJB和1个WAR模块)与单独的模块有什么区别? 我想使用GlassFish 3 Web配置文件,但它不支持EAR存档。 我可以简单地将EJB和WAR用作单独的模块吗? 还有其他选择吗?

从jar自动检测Hibernate中的类

我有一个带有以下persistence.xml文件的几个实体的JavaEE项目: … … 它似乎工作。 然后将该项目作为JAR部署到两个不同的项目中。 在其中一个中, persistence.xml文件与上面的文件基本相同,即使用Hibernate的autodetectionfunction。 但是,它似乎不起作用(因为我认为它需要加载搜索jar中的实体)。 当我尝试手动列出两个xml文件中的所有实体时,一切正常。 编辑:它适用于jar文件,但只能使用jar的绝对路径。 对团队项目来说相当无用。

瘦的WAR,EAR中的库:“找不到struts-tags”错误

在Java EE项目中,我将所有库从WAR/WEB-INF/lib到EAR/lib 。 打开JSP,现在我收到此错误: Struts检测到一个未处理的exception: 消息: 找不到文件“/ struts-tags” 文件:org / apache / jasper / compiler / DefaultErrorHandler.java 行号:51 Stacktraces org.apache.jasper.JasperException: File “/struts-tags” not found ……….. ……….. 如何解决这个问题?

使用Hibernate映射数组

你可以帮我映射一下Hbernate吗? public class MyClass{ private Long id; private String name; private int[] values; … } 我正在使用PostgreSQL,表格的列类型是整数[]我的数组应该如何映射?

AccessController.doPrivileged

我试图找出一些遗留代码正在做什么。 这条线到底在做什么,为什么我会这样需要呢? String lineSeparator = (String) java.security.AccessController.doPrivileged( new sun.security.action.GetPropertyAction(“line.separator”)); 我在Weblogic 8上运行的web / ejb应用程序的logger实现中找到了它。据我所知,没有启用特殊的安全策略。 (我不喜欢从sun。*包中导入,所以我想摆脱这条线;-)

从简单的java类获取HttpSession | Request而不是servlet类

我希望会话对象不在servlet类中,而是普通的应用程序。 WEB.XML com.abc.web.ApplicationManager com.abc.web.SessionManager ViewPrices.java public class ViewPrices implements Cloneable, Serializable { Session session = request.getSession(); servletContext.getSession() anyWay.getSession(); }

什么是rest服务的应用程序类生命周期?

大家好我是新来的rest和jax-rs所以我的问题是每个rest服务开始扩展该应用程序类和定义应用程序路径。 现在我的问题是该应用程序类本身的生命周期是什么? 这是一个例子: import javax.ws.rs.core.Application; @javax.ws.rs.ApplicationPath(“resources”) public class ApplicationConfig extends Application {} 这是一个servlet吗? 它总是活着吗? 我怎么理解这堂课? 它是一个cdi豆? 服务器是否在每个请求上创建此类?

为我的Web应用程序编写授权filter(JSF 2.0)

根据一些建议,我决定为我的网络应用程序编写自己的授权filter(我没有使用容器管理的安全性,所以我必须这样做)。 这是我的第一个filter,所以我对如何实现它有点困惑。 这就是我到目前为止所做的: package filters; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import entities.Role; public class RestrictPageFilter implements Filter { FilterConfig fc; public void init(FilterConfig filterConfig) throws ServletException { // The easiest way to initialize the filter fc = filterConfig; } public […]

单击超链接调用servlet

有没有办法在不使用JavaScript的情况下点击超链接调用Java Servlet?