标签: java-ee

如何设计和构建Java/Java EE Web应用程序?

我是Java开发人员,在Struts,Spring和Hibernate方面有近5年的经验.

我们将在几天内推出一个新项目.我们有完整的要求,我们将使用Spring MVC,Spring和Hibernate来完成这个项目.

我被要求设计和构建整个Web应用程序.设计和创建建筑师是我职业生涯迄今尚未完成的事情.我不知道如何解决这个问题,从哪里开始,使用什么工具等等.我甚至不知道A,B,C的设计和架构.

您可能想知道为什么我甚至在第一时间要求这样做.事情是我有机会这样做,在每个阶段我都会受到监控,我会让我的老人回顾设计.

因此欢迎任何建议,想法和步骤开始和继续.

java architecture java-ee

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

有没有办法只在Tomcat/Wildfly/Glassfish启动时运行方法/类?

我需要删除Tomcat启动时的临时文件,传递到包含临时文件的文件夹位于applicationContext.xml中.

有没有办法只在Tomcat启动时运行方法/类?

java tomcat web-applications startup java-ee

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

带有"包含"页面的jsp页面中的变量

jsp页面中的变量的作用域规则是什么?使用标记将页面添加到页面中?

我的理解是,一个包含的页面本质上是将verbatum复制到页面中,这将使我假设如果我在Parent jsp中声明了一个变量,它将在子节点中可用.

然而Eclipse抱怨这一点(可以理解的是,因为我可以将页面包含在任何页面中或者单独使用它们.当我尝试启动tomcat服务器时,它无法启动.

我基本上想从父页面的会话中获取几个变量,并在子页面中使用它们.这不起作用.

所以我想到了从每个子页面的会话中获取它们的想法,但是我想知道我是否可以给它们所有相同的变量名称,或者如果我必须为它们选择不同的变量名称每个页面都没有冲突.

如果我在父jss中导入log4net,那么我还需要在子代码中导入它吗?

java jsp java-ee

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

Spring 3.0 vs Java EE 6.0

我遇到了一个情况......

在Spring 3.0和Java EE 6.0之间的Java EE开发方面,我被要求就哪种方法提出建议.我是,现在仍然是,Spring 2.5中,相比于传统的Java EE 5开发的启动,特别是与JBoss,我甚至迁移旧应用程序来春在这里影响了发展政策的重新定义,包括春特定的API,并帮助开发一个战略计划来培养更轻量级的解决方案,比如Spring + Tomcat,而不是更重的JBoss,现在,我们只是将JBoss用作Web容器,拥有我称之为"容器内容容器悖论",也就是说,让大多数API的Spring应用程序在JBoss中运行,所以我们正在迁移到tomcat.

然而,随着Java EE的6.0的许多功能的到来,这让春天在那个时候有吸引力的,易于部署,更少的耦合,甚至某种DI的,等等,似乎已经模仿,以某种方式或其他.JSF 2.0,JPA 2.0,WebBeans,WebProfiles等

所以,问题是......

从您的角度来看,考虑到Java EE 6.0提供的新视角,继续投资像Spring这样的非标准Java EE开发框架是多么安全和合乎逻辑?

我们可以谈谈Spring开发的3年或4年,或者您是否建议尽早采用Java EE 6.0 API及其实践?

我会很感激任何见解.

spring java-ee

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

如何分配线程来处理Servlet请求?

有人可以解释每个连接的每个请求和线程的线程是什么?servlet工作的模型是什么?如何分配线程来处理HTTP请求?是线程/请求还是连接?

让我们说如果我想在我Servlet的doGet()方法中异步执行一个耗时的任务,我会使用Java执行程序启动一个新线程,以便在一个单独的线程中完成冗长的计算,并立即发送响应.

现在这样做是否确保我已经释放了处理我的线程,HttpServletRequest或者它仍然被使用,因为子线程仍在运行?

java multithreading servlets java-ee threadpool

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

谁能解释servlet映射?

我正在尝试使用SpringMVC编写Web应用程序.通常情况下,我只是将一些伪造的文件扩展名映射到Spring的前端控制器并幸福地生活,但这次我要使用类似REST的URL,没有文件扩展名.

将我的上下文路径下的所有内容映射到前端控制器(让我们称之为" app ")意味着我也应该处理静态文件,这是我不想做的事情(为什么要重新发明另一个呢?),所以某些与tomcat默认的组合servlet(让我们称之为" tomcat ")似乎是要走的路.

我有工作做的事情

<servlet-mapping>
  <servlet-name>app</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>tomcat</servlet-name>
  <url-pattern>*.ext</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

并为我的静态内容的每个文件扩展名重复后者.我只是想知道为什么以下设置,对我来说等同于上面的设置,不起作用.

<!-- failed attempt #1 -->
<servlet-mapping>
  <servlet-name>app</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>tomcat</servlet-name>
  <url-pattern>*.ext</url-pattern>
</servlet-mapping>

<!-- failed attempt #2 -->
<servlet-mapping>
  <servlet-name>app</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>tomcat</servlet-name>
  <url-pattern>/some-static-content-folder/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

任何人都能解释一下吗?

java web.xml servlets spring-mvc java-ee

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

有什么办法在tomcat中的不同应用程序之间共享会话状态?

我们希望将工作应用程序拆分为两个不同的.war文件,以便能够更新一个应用程序而不会影响另一个应用程序.每个webapp将具有不同的UI,不同的用户和不同的部署计划.

最简单的路径似乎是共享相同的会话,所以如果应用程序A设置session.setAttribute("foo", "bar")应用程序B将能够看到它.

有没有办法HttpSession在同一个Tomcat实例中共享两个应用程序的状态?

我们的应用程序运行在专用的Tomcat 5.5上,没有其他应用程序在同一个tomcat实例上运行,因此任何有关会话共享的安全问题都不是问题.我们正在运行多个Tomcat实例,但平衡器正在使用粘性会话.

如果不可能或者这次会话分享是一个非常糟糕的主意,请发表评论.

java session tomcat java-ee

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

如何使用JSTL选择集合的第一个元素?

我设法使用下一个代码,但必须有一个更简单的方法.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>


<c:if test="${fn:length(attachments) > 0}">
    <c:forEach var="attachment" items="${attachments}" varStatus="loopCount">
        <c:if test="${loopCount.count eq 1}">
         attachment.id
        </c:if>
    </c:forEach>
</c:if>
Run Code Online (Sandbox Code Playgroud)

jstl java-ee

51
推荐指数
4
解决办法
10万
查看次数

如何使用JAX-RS设置charset?

如何使用JAX-RS设置charset?我已经尝试@Produces("text/html; charset=UTF-8")但是被忽略了,只有text/htmlHTTP头发送.我想在MessageBodyWriter中设置charset,但不希望通过我自己的反射分析@Produces注释来提取媒体类型.

java jax-rs character-encoding java-ee

51
推荐指数
4
解决办法
7万
查看次数

无法为连接URL'null'创建类''的JDBC驱动程序:我不明白这个异常

为什么它说空 URL并在我提供数据库URL时在异常中给出一个空的''类?

我尝试context.xml在使用时通过servlet 连接到数据库web.xml.当servlet运行时,我得到以下异常:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

at servlets.servlet_1.doGet(servlet_1.java:23) // ---> Marked the statement in servlet

at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: …
Run Code Online (Sandbox Code Playgroud)

java tomcat jndi derby java-ee

50
推荐指数
4
解决办法
13万
查看次数