Tag: web applications

是否有类似于mini-mvc-profiler for Java的东西?

像标题所说: 是否有类似于Java的mini-mvc-profiler ? 我正在寻找可以在Struts或Spring MVC应用程序中使用的东西,并在DEV环境中的每个页面上显示快速的性能概述。

单独的web.xml用于开发和生产

我的web.xml在开发和生产环境中有所不同。 例如,在开发环境中,不需要安全约束。 通常我部署新的应用程序版本如下: 将Eclipse项目导出为WAR。 将WAR上传到服务器。 重新部署。 问题是我必须在导出之前手动取消注释web.xml中的安全性约束。 你怎么解决这个问题? 我还在一些文章中遇到了“web.xml很少改变”的意见。 但是如果在每次更新时导出到WAR,web.xml怎么能不改变? 提前致谢!

有效用户的Tomcat安全约束

我正在尝试保护tomcat中的资源,以便只有“有效用户”(在域中具有有效登录名和密码的用户)才能访问它。 它们不一定属于领域中的一个群体。 我已尝试使用指令的许多组合而没有成功。 有任何想法吗?

maven webapp将jsps放在/ WEB-INF / jsp中

我inheritance了使用NetBean的内部ant构建的webapp。 所有jsps都位于: WEB-INF/jsp web.xml包含指向/WEB-INF/jsp/somefile.jsp的硬编码链接 如何使用maven war插件将JSP放在那里,保持与当前结构的一致性? 我的pom目前写道: ${basedir}/web/WEB-INF

企业Web应用程序中的JavaFX – 经典网页的良好替代品?

我们为不同的客户开发了几个Web应用程序,从那些看起来很简单的CRUD风格的GUI到那些糟糕的管理员,再到那些互联网用户的花式schmancy AJAX增强的GUI。 所有这些都基于JSF 1.2与JBoss Seam 2的结合,使用Facelets和RichFaces作为表示层。 我们知道JSF 1.2的局限性(我感到很难过)我们还没有完成向Java EE 6的过渡,但是将这个设置定义为我们的技术堆栈,我们获得了一些使用该技术的经验,感觉能够为我们的客户可靠地开发Web应用程序。 那么,为什么我告诉你呢? 因为我们越来越多地听到“Web 2.0”的客户希望拥有丰富的客户端function,而只接受浏览器作为所有应用程序的大门。 尽管我们知道可以用我们使用的技术做到这一点,但我们认为,在客户端使用不同的东西来支持这些需求可能是个好主意。 而且由于我们大多是Java程序员而且我们不断追赶这个让他们用他的Adobe Flex烦恼的家伙,我们认为,新版本中的JavaFX可能是一件好事。 我尽力挖掘我能找到的JavaFX资源的深度 – 但我常常想到的一件事是,JavaFX本身就是一种能够做一些漂亮的图形效果的技术,但是在弹跳的同时彩色阴影气泡可能看起来很酷,它们在商业应用中基本没用。 好吧,长话短说 – 我们喜欢在后端使用Java EE 6,同时在客户端上拥有丰富而美观的function。 在开发商业Web应用程序时,JavaFX是经典网页甚至是即将推出的现代HTML 5网页的一个很好的选择吗?在哪里可以找到这样的示例? 感谢您抽出时间阅读本文以及希望得到的答案。

获取URL到webapp上下文(基本URL)

有时您需要在servlet / JSP /基于HttpServletRequest任何内容中构建Web应用程序上下文的完整URL。 像http://server.name:8080/context/这样的东西。 Servlet API没有一种方法可以实现这一点。 直接的方法是将所有URL组件附加到StringBuffer ,如 ctxUrl = sb.append(req.getScheme()).append(“://”) .append(req.getgetServerName()).append(“:”) .append(req.getServerPort()) etc 我想知道这个替代方案是否有任何问题(速度提高了10倍): ctxUrl = req.getRequestURL(); ctxUrl = ctxUrl.substring(0, ctxUrl.lastIndexOf(“/”))); 以上两种方法总会产生相同的结果吗?

Java Spring多个ApplicationContext

SpringContextContext的定义非常模糊,我几乎完成了整本教程,但仍然无法理解ApplicationContext代表什么。 根据Spring API, ApplicationContext是: 用于为应用程序提供配置的中央接口。 这在应用程序运行时是只读的,但如果实现支持,则可以重新加载。 用于访问Spring bean容器的根接口。 这是bean容器的基本客户端视图。 从上面来看,我的问题是: 1)我一直看到书中提到“容器”,容器是指什么? 一个容器是否意味着一个java进程? 或一个容器引用一个ApplicationContext对象? 2)如果我在一个java应用ApplicationContext中实例化两个ApplicationContext (都在主体中),这两个接口是一个中央容器吗? 还是两个单独的实例? 请参阅下面的代码, context1和context2之间的区别是什么? 如果Beans.xml有Singleton,它由context1和context2调用,它们是两个独立的实例还是同一个实例? ApplicationContext context1 = new ClassPathXmlApplicationContext(“Beans.xml”); ApplicationContext context2 = new ClassPathXmlApplicationContext(“Beans.xml”);

Maven WebApp META-INF context.xml

我正在使用Maven 3,我正在尝试在webapp文件夹下添加META-INF文件夹。 所以我想尝试做以下事情: src main webapp META-INF context.xml WEB-INF 以下是我的POM文件: 4.0.0 com.data Java-WebApp 0.0.1-SNAPSHOT war Java-Web Application 3.0.6.RELEASE junit junit 3.8.1 test data com.data Java-Parent 0.0.1-SNAPSHOT 在src / main / resources下我添加了一个META-INF \ context.xml。 使用mvn包打包WAR文件时,结构如下所示: data webapp META-INF WEB-INF index.jsp 可以看到WEB-INF下的相关文件。 但是,META-INF文件夹是空白的。 我的默认Maven将在WEB-INF / classes下添加资源。 我想特别希望: data webapp META-INF context.xml WEB-INF 这怎么可能? 我尝试了其他的东西,但它仍然没有用。 context.xml包含以下内容: 我尝试从src \ […]

当请求来自Web服务器而不是Web浏览器时,HTTPSession的创建如何工作?

我有一个非常基本的问题,如何创建HTTPSession。我知道你们会因为存在类似的问题而解雇这个问题。但是有理由说我为什么要问这个问题这里是: – 我知道httpsession是Web浏览器所独有的,当我们第一次执行HttpServletRequest.getSession时,服务器会创建它。它将保持相同的会话,直到我们关闭浏览器。 但我有一点点不同的场景。我在一个tomcat实例上有一个Web应用程序说T1.On这个Web应用程序的欢迎页面我已经提供了两个链接,点击它带我到不同的Web应用程序托管的相同的java servlet(S1)在另一个tomcat实例T2上(这两个链接打开两个单独的弹出窗口)。 现在我首先点击link1并检查S1中的sessionId并找到它的值为1678.现在我首先点击link2并检查S1中的sessionId并再次找到它的值为1678. 我的问题是为什么我得到相同的会话来自link1和link2的请求的id? 我该怎么做才能获得这两个请求的不同会话? 在网上寻找可能的解决方案后我尝试了什么: –点击link1,在Servlet S1中,我复制了会话属性,使其无效并创建新的属性。 说新的会话ID是8765。 现在我点击link2并在此请求中找到相同的会话。 所以我进一步使它失效并创建一个新的(比如新的会话ID是4897)。 理想情况下,它应该到期第一个浏览器会话(单击link1时生成)。 为了validation它,我点击弹出的任何地方1它没有过期,但我再次看到最后生成的会话ID,即4897.我不知道为什么它与两个弹出窗口附加相同的会话ID? 感谢您耐心等待您的时间并阅读这个漫长的场景? 编辑: – Cookie[] cookies = req.getCookies(); if(cookies!=null) for (int i = 0; i < cookies.length; i++) { cookies[i].setMaxAge(0); context.getResponse().getHttpServletResponse().addCookie(cookies[i]); } HttpSession myAppSession = req.getSession();//line 1 假设点击link1我得到会话ID为1234,然后点击链接2后我也得到相同的会话ID。 根据我的理解,在执行第1行上面的代码后,我应该获得不同的会话ID,因为我在获取会话之前将MaxAge设置为0。 但它没有发生?

如何处理陈旧的连接?

Ours是一个J2EE应用程序,在大型机/ DB2后端的Websphere 6.1上使用Struts-EJB-Hibernate,最近已转移到生产环境。 当用户第一次登录应用程序或有时间歇性地发生此exception时, 我们会收到过时的连接exception 。 在第二次尝试用户能够登录到应用程序。 我得到的确切错误信息是 empcom.ibm.websphere.ce.cm.StaleConnectionException: Execution failed due to a distribution protocol error that caused deallocation of the conversation. The command requested could not be completed because of a permanent error condition detected at the target system. DB2ConnectionCorrelator: AC100B80.A260.090107181206 我在webshere设置中启用了PRETEST选项,并将间隔设为60秒,但我仍然遇到此问题。 请分享您的观点并帮助我 如果需要,我可以给你更多细节。