草庐IT

jakarta-ee

全部标签

java - 捕获 Java EE Web 应用程序中的每个异常

首先,我为所有不可恢复的异常抛出运行时异常,这导致这些异常向上传播到容器,我目前在容器中使用错误页面(在web.xml中定义)。在此错误页面中有一个调用记录器的脚本。我遇到的问题是异常在这次调用时不再位于堆栈中。我可以从请求范围变量(“javax.servlet.error.message”)访问它。该字符串是堆栈跟踪。显然我需要这个堆栈跟踪用于日志记录,并且出于安全原因,可以在不同的应用程序服务器上关闭“javax.error_message”......所以我的问题是,如何才能最好地从JavaEE应用程序中记录运行时异常而不用将所有内容都包装在其中:try{}catch(Excep

java - 可以将注入(inject)的 EntityManagers 传递给 EJB bean 的帮助类并使用它吗?

我们有一些JavaEE5无状态EJBbean,它将注入(inject)的EntityManager传递给它的助手。这样安全吗?到目前为止它一直运行良好,但我发现一些Oracle文档声明它的EntityManager实现是线程安全的。现在我想知道我们直到现在才没有问题的原因是否只是因为我们使用的实现恰好是线程安全的(我们使用Oracle)。@StatelessclassSomeBean{@PersistenceContextprivateEntityManagerem;privateSomeHelperhelper;@PostConstructpublicvoidinit(){helpe

java - Servlet 3.0 注释 <welcome-file>

是否可以通过servlet3.0注释从标准web.xml文件设置欢迎文件标签?PageName.html 最佳答案 没有,目前没有这样的注解。Servlet3.0的注解有InitParam,ServletFilter,WebServlet,WebServletContextListener,welcomefiles里面什么都没有。 关于java-Servlet3.0注释,我们在StackOverflow上找到一个类似的问题: https://stackover

java - 在 memcached 之前使用 ehcache

我们有一个从数据库加载用户对象的网络应用程序。它是一个具有数千个并发用户的大容量应用程序,因此我们正在寻找缓存用户对象的方法,以最大限度地减少数据库负载。目前正在使用ehcache,但正在考虑使用memcached来降低应用程序的内存需求,并使其更具可扩展性。我们目前在使用memcached时遇到的问题是序列化User实例带来的cpu负载。我们正在寻找加速序列化的方法,但也在考虑是否可以使用由memcached服务器支持的较小的ehcache缓存。有没有人有过使用由memcached支持的ehcache的经验(即首先查看ehcache,如果用户不在,则查看memcache,如果没有则查

java - 服务器创建的实例什么时候死?

以下程序:publicclassSimpleCounterextendsHttpServlet{intcounter=0;@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/plain");PrintWriterwriter=response.getWriter();counter++;writer.println("accessed"+count

java - 在 Java EE 5 (JBoss) 平台上启动计划任务的正确方法是什么?

我需要运行一个简单的计划任务,每200毫秒启动一次并做一些简单的事情。Executors.newSingleThreadScheduledExecutor()是在JBoss上获取预定执行程序服务的正确方法吗?据说不建议在JavaEE平台上生成非托管线程。看起来这个线程将是一个非托管线程。另一方面,我不想为这么简单的事情声明MBean等。编辑有org.jboss.resource.work.JBossWorkManager但我找不到计划工作的例子。 最佳答案 调用Executors.newSingleThreadScheduledEx

Java EE 计划任务

我需要安排一个任务在Weblogic10.3服务器上定期运行(例如每6小时一次,或者每天中午12点)。该任务基本上是从数据库中检索一些数据并使用它执行一些业务逻辑。实现此目标的最佳方法是什么?我搜索了互联网,找到了一些解决方案,例如:使用定时器服务。工作经理。EJB计时器。顺便说一句,我仍在学习JavaEE,所以这可能是一个基本问题,或者我遗漏了什么。 最佳答案 在JavaEE容器下运行时,应避免使用JDK的标准计时器功能。您应该改用EJB计时器;优先于任何专有解决方案(我认为工作管理器是WebLogic专有的)。从这里开始:htt

java - 在 web.xml 中添加条件

这是我的web.xml的一部分500/index有什么方法可以告诉处于开发模式的web.xml文件:/displayException对于上述locationproperty?或通过代码添加条件的任何方式?尝试这样做的目的是:在开发模式下我想在页面中看到异常,在实时模式下我想在发生异常时将他重定向到默认页面。 最佳答案 您不能在web.xml级别执行此操作。如果web.xml尊重系统属性,这可能是一个很酷的功能,但事实并非如此。所以您唯一的方法就是在代码中执行此操作。幸运的是,您有多种可能性。您可以将错误URL映射到JSP,在JSP

java - 如何在 Servlet 中调用 java Rest WebService

我有一个javaRestWebServiceURLhttp://localhost:8080/WebServiceEx/rest/hello/dgdg当我执行URL时,WebService方法返回一个字符串我的要求是在Servlet中调用上述WebServiceURL,有人可以帮忙吗?Servlet代码:publicClassStoreServletextendsHttpServlet{protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsIOException,ServletException{

java - 如何在 URL 中传递两个查询参数

在此示例中,服务的URL的格式为/projection/projectionId:@Stateless@Path("projection")publicclassProjectionManager{@InjectprivateProjectionDAOprojectionDAO;@InjectprivateUserContextuserContext;@GET@Path("{projectionId}")@Produces("application/json")publicStringplaces(@PathParam("projectionId")StringprojectionId