Tag: web applications

在集群环境中使用Quartz

我希望在我的应用程序中使用quartz调度程序,因为我有一个集群环境,并且希望保证每小时只运行一个我的作业实例。 我的问题是……我是否必须使用JDBC作业存储或作业数据的某种“外部”存储来保证我的集群中只有一个实例在任何给定的时间运行该作业,或者对Quartz来说是否有更多魔力我知道吗?

Web applet中Java小程序的可用性

对于我们大学的电子学习项目,我们使用Java小程序在Ilias学习单元内部显示一些交互式内容(如一些交互式function绘图或一些简单的问答系统或其他交互元素及其中的任意组合)。 我们决定使用Java,因为我们想要一个开放的解决方案(当时HTML5并不是真正可用的,而且Flash实际上并不是一个选项)。 现在,几年后,我真的觉得Java并不适用于网络。 主要是因为很多问题我并没有真正解决所有情况。 所以,我的问题是:Java对于网络来说是不是正确的事情,还是我做的事情。 错误? 你能指出我如何解决这些问题吗? 我当时遇到的问题: Java applet需要很长时间才能加载。 即使它是一个非常简单的小程序,它有时需要大约一分钟才能加载。 这是为什么? 是不是真的Java框架比Qt或其他框架大得多? 或者VM是如此之大? 或者VM是如此之慢? 浏览器(或至少Chrome中的标签页)在加载applet时会变得非常慢esp,但之后也是如此。 Java applet在每个系统上看起来都不同。 UI控件完全不同,并且行为略有不同。 有时它是原生的外观(或者它的种类),有时它完全是自己的东西。 此外,字体大多不同,并且通常支持不同的Unicode字符子集。 这对我们来说是一个真正的问题,因为我们对数学符号使用了很多Unicode,并且我们得到了很多报告,有些符号对某些人不起作用。 此外,由于每个系统上的字体大小不同,我得到的报告是文本被删除给少数人(或在JLabel中缩写为“…”)。 我现在通过在JAR中加入TTF解决了这个问题。 这主要起作用。 有时候,即使使用独特的字体,我也会收到这些“…”报告。 有时内存使用率非常高(但并非总是如此)。 当加载具有多个applet的页面时,浏览器崩溃和/或多个applet无法正确加载的可能性变得非常高。 此外,整个操作系统变得非常慢。 有时,Java applet不会在浏览器X中加载,而是在浏览器Y中加载。在重新加载或重新启动浏览器/系统时单击几次后,该行为可能会切换。 例如,似乎在Firefox中加载applet的机会更高(也不总是,但大多数情况下,至少在重新加载后点击一两次)并且Chrome上的可能性较小(但如果我很幸运,它有时也有效) 。 根据系统的不同,可能是不同的浏览器效果最好。 虽然从来没有一个完美的浏览器。 这种行为发生在我们测试的所有系统上(不同的Linux发行版,32位和64位,Windows XP / Vista / 7,MacOSX)。 有时,当我切换到另一个选项卡并返回时,applet保持空白。 有时它至少需要很长时间才能再次出现。 它会占用所有CPU。 即使在我用applet关闭了所有标签之后。 我必须退出浏览器来解决这个问题。 我们遇到这些问题的一些例子: http://www.matha.rwth-aachen.de/~ilias/jars/Integration/Integration_Geogebra.html http://www.matha.rwth-aachen.de/~ilias/jars/Abbildungen/Abbildungen.html http://www.matha.rwth-aachen.de/~ilias/jars/Trigonometrie/Trigonometrie_Geonext.html http://www.matha.rwth-aachen.de/~ilias/jars/AnalytischeGeometrieundLA/AnalytischeGeometrieundLA.html http://www.matha.rwth-aachen.de/~ilias/jars/ganze%20und%20natuerliche%20Zahlen/ganze%20und%20natuerliche%20Zahlen.html 如果你看一下这些例子,什么是Java的一个很好的替代解决方案? 我想到了使用最新浏览器的HTML + […]

数据库连接池初始化错误

我正在尝试为我的Web应用程序配置HikariCP。 我没有使用任何框架,它是一个简单的Java Web应用程序。 当我尝试通过普通JDBC建立连接时,它成功了,我能够执行所有数据库操作。 但是,当我试图获得连接池的连接时,我在初始化后得到一个exception,我不知道。 下面是我正在使用的配置,我正在上下文监听器中初始化它。 我在Java 1.7上运行,使用HikariCP Java 6依赖2.3.2的Tomcat容器 import java.sql.Connection; import java.sql.SQLException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import com.mkgcorp.travelweb.util.TLog; import com.sun.jersey.core.util.Base64; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; public class CPInit implements ServletContextListener{ private final static String TAG = CPInit.class.getSimpleName(); private static HikariConfig mConfig; private static HikariDataSource mDataSource; public static String POOL_NAME = “TripPool”; public static int […]

使用Log4j的每个用户的不同日志

我有一个web应用程序,我想为每个用户使用不同的日志,因此我可以拥有用户在系统上所做的“历史记录”。 这是我到目前为止: import java.io.File; import java.io.IOException; import org.apache.log4j.DailyRollingFileAppender; import org.apache.log4j.FileAppender; import org.apache.log4j.SimpleLayout; import org.apache.log4j.Logger; public class LogManager { public Logger getLog(String username) throws IOException{ SimpleLayout layout = new SimpleLayout(); FileAppender appender = new DailyRollingFileAppender(layout, “users”+File.pathSeparator+username+File.pathSeparator+username, “‘.’yyyy-MM”); // configure the appender here, with file location, etc appender.activateOptions(); Logger logger = Logger.getRootLogger(); logger.addAppender(appender); return logger; } } […]

代码对于try块来说太大了

Eclipse编译并运行这个jsp很好但是当我部署到Sun One 6.1时,我得到“Code for too try for try {” 我正在尝试在执行聚合摘要时循环遍历bean列表。 有关如何重构它以使其在我们过时的服务器上工作的任何建议? Source Program Project Contract Line Code Jan Total Plan CTC <a href="https://stackoverflow.com/questions/6904117/code-too-large-for-try-block/CTC.jsp?filter=byDept&dept=&lineCode=&year=”> Delta Hrs <td class="oRight" style="background-color: deltaJan}’>#FF0000″ > <td class="oRight" style="background-color: deltaSubTotal}’>#FF0000″ > Delta Heads <td class="oRight" style="background-color: deltaJan/(ahJan*8)}’>#FF0000″ > <td class="oRight" style="background-color: deltaSubTotal/(ahTot*8)}’>#FF0000″ > Plan CTC <a href="https://stackoverflow.com/questions/6904117/code-too-large-for-try-block/CTC.jsp?filter=byDept&dept=&lineCode=&year=”> Delta Hours <td class="oRight" […]

如果我在web.xml中有两个与请求匹配的servlet映射会发生什么?

如果我在web.xml中有两个与请求匹配的servlet映射会发生什么? 它选择最具体的吗? 例如,如果我有以下xml,并且在转到somethingservlet或everything_else servlet时请求来…. /某事 something /something everything_else /*

要在Maven war项目中打包的不同文件

我有一个war包装Maven项目,其中我有一个名为myapp.properties的Java属性文件。 在此属性文件中,我存储了一些参数,例如,将由webapp使用的数据库连接参数。 无论是在持续集成环境中还是在我的开发环境中,我都想在myapp.properties中设置一些测试参数来连接到我的测试数据库。 同时,我希望在最终的war包中将这些参数留空,以便用户可以在部署到其环境期间自行添加这些值。 最终的war包应该是在持续集成环境中生成的构建工件。 基本上,我想在不同的情况下使用两个版本的myapp.properties文件。 我的问题是,Maven解决这个问题的方法是什么? 我在开发环境中使用Eclipse + WTP + m2eclipse,我希望该解决方案能够与我的开发工具一起使用。

启动Apache Tomcat 7时指定JRE / JDK

有没有办法告诉Tomcat 7必须使用的JVM路径? 例如: startup –jvm /path/to/my/jvm

网站和WebApplication之间的区别?

我已经搜索了很多关于Website和WebApplication之间的区别,但没有得到明确的答案。 阅读后我甚至更加困惑。

main()方法在JSP / Servlet应用程序中的位置是什么?

我问这个的原因是我想编写一个代码,一旦它启动就初始化应用程序,并在以后清理。 我不想使用servlet init()方法,因为它是每个servlet。