我处于这样一种情况,我基本上希望能够在Eclipse中创建一个Web项目,其中WebContents文件夹是从多个项目合并而不是仅仅是一个动态Web项目.
如果我在项目A中有"a.jsp",在项目B中有"b.jsp",我想在Web容器中找到一个单独的Web应用程序,其中"a.jsp"和"b.jsp"位于在同一个文件夹中彼此相邻.如果所有文件(不仅仅是jsp文件)都可以像这样合并,那将是完美的.
这是为了能够拥有我们应用程序的核心版本,但能够轻松处理客户特定的更改.
我知道我可以使用合适的蚂蚁魔法来做到这一点,但我们希望有一些适合我们当前基于Eclipse的开发过程的东西.我们将在Java类上使用JSR-330依赖注入,基本上我喜欢依赖注入的东西,但仅适用于任何资源,而不仅仅是类.
Eclipse可以这样做吗?
如果Eclipse不能,那么EAR部署是否适合?我目前只有WAR的经验.
我们需要升级老式Web应用程序以在GlassFish 3而不是Tomcat下运行才能获得EAR部署(Glassfish被选中,因为它是参考JEE 6实现)
不幸的是,它很快证明了确保用户登录的机制不能正常工作并且抱怨已经调用了getWriter()(这很可能是正确的)并且我无法弄清楚原因.
方法是我们在完整的JSP文件集上有一个过滤器,用于检查用户是否已登录,如果没有,则使用重定向到登录页面filterChain.doFilter(servletRequest, servletResponse);.用户状态(包括凭证)存储在会话范围中的所谓控制器对象中,该范围是从登录验证java代码设置的.
来自Glassfish的堆栈跟踪:
java.lang.IllegalStateException: PWC3990: getWriter() has already been called for this response
at org.apache.catalina.connector.Response.getOutputStream(Response.java:676)
at org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:205)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:176)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at com.XXX.LoggedInToXXXFilter.doFilter(LoggedInToXXXFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
....
Run Code Online (Sandbox Code Playgroud)
web.xml片段
<?xml version="1.0"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<description>
XXX provides a web interface for a given user.
</description>
<display-name>
XXX
</display-name>
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/online-faces-config.xml</param-value>
</context-param>
<context-param>
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>
org.apache.myfaces.webapp.StartupServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>Faces Servlet</servlet-name> …Run Code Online (Sandbox Code Playgroud) 我正在创建一个服务器,客户端连接它来玩猜谜游戏,他们也是为了获得积分.
我目前唯一的问题是每当我的客户端正确猜出数字时,它会跳转到服务器并说'server null'.我希望猜测游戏能够继续,直到客户输入'再见' - 他/她得分.
这是我的代码,你可以指出我出错的地方,并告诉我如何实现我想要的.我认为问题出在协议中我可能只需要将时间放在正确的位置,这样就可以了.谢谢大家!只是添加,变量名称奇怪我知道它以前是一个敲敲笑话服务器
协议
import java.util.*;
public class KKProtocol {
int guess = 0, number = new Random().nextInt(100) + 1;
int score = 0;
Scanner scan = new Scanner(System.in);
public String processInput(String theInput) {
String theOutput = null;
System.out.println("Please guess the number between 1 and 100.");
while (guess != number) {
try {
if ((guess = Integer.parseInt(scan.nextLine())) != number) {
System.out.println(guess < number ? "Higher..." : "Lower...");
}
else {
System.out.println("Correct!");
score = 1;
}
}
catch …Run Code Online (Sandbox Code Playgroud) 我想对我们的一些web服务进行一些junit测试.不只是调用Java代码,而是通过javax.xml.ws.EndpointJAX-WS堆栈来确保事情正常运行.我们使用Java 7中的默认实现进行测试 - 根据wsimport测试Metro 2.2.4 - 以及Java 6中用于生产的默认实现.
但是,典型的http绑定需要一个TCP/IP端口来绑定,我想知道是否有可能避免TCP/IP层同时保留其余的JAX-WS堆栈.
似乎com.sun.xml.ws.transport.local.InVmServer支持"in-vm"传输,它确实完成了这一点,但我在理解相当简洁的文档以及如何从中获取并从中获取时遇到了一些麻烦在maven调用的junit 4测试中.
所以,我的问题是:我如何 - 在maven调用的junit设置中 - 使用"in-vm"传输(可能使用执行程序)启动端点,并从客户端调用它,然后关闭端点.另外,您对此有何体验?
我们的应用程序的全局版本(30个Maven模块)花费了太多时间(15分钟)我们进行了单元测试和集成测试.
整合时间由集成测试消耗(60%).
技术包括:spring,spring mvc,Spring batch ......当然还有Maven.
因此,我们的开发人员没有动力保持这种做法(在提交之前全部构建)
我想增加构建时间,所以我测试了很多方法:
您是否有一些建议,一些经验表明如何在一个大项目中增强Maven的构建时间.
提前致谢.
我有一种情况,我们会定期收到一堆 XML 文件。我们无法控制它们,它们没有命名空间信息,我们真的很想避免更改它们。
我们有一个 XSD,我们需要用它来验证 XML 文件,如果明确编码应用,它就可以工作。现在我们想提示一个 SAX 解析器,这个特定的 XML 方言应该针对这个 XSD(我们在文件系统上有)进行验证,但是除了在 XML 文件中提供 noNamespaceSchemaLocation 之外,我找不到任何其他方法,我们真的会这样做喜欢避免。
建议?EntityResolver 是否总是使用空/空命名空间调用?
(当我被允许时,功能性解决方案将给予 500 奖励积分)
我已经研究了在Java 8中编写基于流的代码,并注意到了一种模式,即我经常有一个列表,但需要通过对每个元素应用一个简单的映射将其转换为另一个列表.写完.stream().map(...).collect(Collections.toList())又一次,我记得我们已经List.forEach找到了,List.map但显然这个默认方法还没有添加.
为什么List.map()(EDIT:或List.transform()or List.mumble())没有添加(这是一个历史问题),是否有一个简单的速记使用默认运行时库中的其他方法做同样的事情,我没有注意到?
我最近尝试在Silverlight 4中生成报告.在我的问题域中,这些报告需要直接转到打印机和/或客户端SL应用程序创建PDF并允许用户将其存储在某处.
至于报告,它大致由50%流文本(包括枚举),30%表和20%图表组成.流动文本部分使其更具挑战性,因为必须进行适当的断线.
到目前为止,我尝试了以下方法 - 每种方法都有自己的缺点,使它们不那么可行:
Silverlight自己PrintDocument:从技术上讲,有两个主要问题.首先,让分页工作正常工作,并在适当的布局上打印UIElements是一个肮脏的hackjob和充满妥协; 幸运的是,到目前为止,我已经成功完成了这项工作.但是,PrintDocument该类始终将所有视觉效果呈现为位图,然后再将其发送出去; 如果使用PDF打印机并希望仍能搜索/选择文本,这并不是那么有趣.David Poll在"Silverlight and Beyond" [1]中采用的方法并没有那么有用,因为它本身就遵循相同的方法,因此遇到了非常相似的问题.
silverPDF [2]:一个几乎没有文件记录的库,需要手动完成大部分布局(前一种方法至少允许我重复使用Silverlight的布局引擎).到目前为止,我认为没有办法(例如)测量段落,并且使用long flowtext的唯一样本使用布局矩形的硬编码绝对值.此外,发展方似乎不活跃.
就个人而言,我现在正在考虑采用完全不同的策略:简单地生成HTML文档.但我希望这里的社区可能对上述两种方法有所暗示,或者知道其他好方法.
提前谢谢,〜曼尼
Azul提供高度可扩展的 Java 解决方案,与 x86 硬件上的标准 Oracle Java 相比,该解决方案声称可以为大型应用程序提供非常好的性能(无论是内存还是内核)。
.NET 世界里有类似的东西吗?
我知道 Microsoft 有云解决方案,但它的扩展能力是否同样出色?
我们在Jenkins实例中有许多Maven作业,每个作业都有自己在构建配置中指定的特定调用字符串,类似于
mvn clean install -DDISABLED="javadoc:aggregate" checkstyle:checkstyle pmd:pmd findbugs:findbugs
Run Code Online (Sandbox Code Playgroud)
我想整合这个,以便调用字符串存储在POM中的某个位置以及合适的配置文件信息,因此我们可以用一个稍微不同的作业替换调用字符串.
mvn -Pjenkins
Run Code Online (Sandbox Code Playgroud)
标准调用.根据我的理解,该defaultGoal条目仅支持单个目标,乍一看似乎不足以表示我们的多个目标,但如果我们可以使其与多个条目相对应,则可能就足够了.如果简单的调用字符串可以做的话,我想尽可能避免设置特定于配置文件的绑定到标准生命周期阶段.