标签: jetty

哪个java webserver最适合这里?

我正在开发一个包含以下3个组件的简单Web应用程序:

  1. 使用Ajax,javascript,html在浏览器上显示数据的客户端.
  2. 在客户端和数据处理实体之间进行接口的Java Web服务器.
  3. 数据处理实体,用C++实现.

我需要决定使用哪个java webserver.一些选项是:

a)在java(com.sun.net.httpserver)中使用httpserver类并创建一个多线程进程.

b)使用Glassfish服务器并在其上部署创建网页的应用程序等.

c)使用Jetty.

d)?

网络服务器的选择标准是:

  1. 稳定性(进程(Web服务器)应该运行几天而不重启)

  2. 可能的最大并发请求大约为200.平均情况大约为30.

  3. 缓存在Web服务器上完成,如果数据可用或数据处理实体未标记为脏,则从Web服务器本身提供请求.

非常感谢您的建议.

谢谢.罗恩.

webserver web-applications jetty glassfish httpserver

1
推荐指数
1
解决办法
584
查看次数

Birt报告文件路径

我正试图在Jetty下设置Birt.我可以得到"祝贺"报告:

http://10.10.11.1:8080/reports/frameset?__report=test.rptdesign&sample=my+parameter

但是,我无法运行任何其他报告.我从"报告"上下文运行BIRT查看器.尝试运行其中一个示例报告(放在与birt.war文件相同的目录中).

以下是我尝试过的内容:http: //10.10.11.1 : 8080 / reports/frameset?__ report = SaleInvoice.rptdesign SalesInvoice.rptdesign与birt.war文件位于同一目录中

http://10.10.11.1:8080/reports/frameset?__report=/templates/SalesInvoice.rptdesign 其中templates是birt上下文的子目录.这导致:

  • 没有可用的报告设计对象.

知道我做错了什么吗?

java eclipse birt jetty

1
推荐指数
1
解决办法
5435
查看次数

Jetty vs CXF /哪一个可供选择?

我对Java世界还是比较陌生的,并且在几十个或多或少做同样事情的图书馆之间选择的美丽让我感到不知所措.

有了Jetty和CXF.我正在寻找一个内置支持各种传输和协议的Web服务堆栈.

我的印象是CXF是最近的项目,并且将成为新软件项目的首选.特别是在涉及各种不同协议和标准(如WS-*)的应用程序时.

您能否就这些框架之间的差异发表意见?

哪一个对不同的协议和标准有更广泛的支持?

您更喜欢哪一个设计,例如它们如何将应用程序逻辑中的传输,身份验证,授权,序列化方面隐藏起来?

任何一种答案都非常欢迎!

干杯,亚历克斯

java web-services cxf jetty

1
推荐指数
2
解决办法
4088
查看次数

在码头热部署简单的应用程序

我目前正在使用jetty hightide vesion 7作为独立服务器.我有一个简单的Web项目,其中包含一些jsp和支持类,我目前正在未爆炸的战争中部署到JETTY_HOME/webapps目录.

目前,jetty可以轻松获取任何静态jsp/html更改.如果我理解正确,我可以配置我的应用程序,以便jetty将在不重新启动服务器的情况下获取任何类更改?我目前在我的jetty-web.xml中:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!--
    This is the jetty specific web application configuration file. When
    starting a Web Application, the WEB-INF/web-jetty.xml file is looked
    for and if found, treated as a
    org.eclipse.jetty.server.server.xml.XmlConfiguration file and is
    applied to the org.eclipse.jetty.servlet.WebApplicationContext objet
-->

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Call class="org.eclipse.jetty.util.log.Log" name="debug">
    <Arg>executing jetty-web.xml</Arg>
</Call>
<Set name="contextPath">/SimpleDynamicProject</Set>

</Configure>
Run Code Online (Sandbox Code Playgroud)

我还创建了一个SimpleDynamicProject.xml并将其放在JETTY_HOME/contexts中.该文件包含:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!--
    This is the …
Run Code Online (Sandbox Code Playgroud)

java jetty java-ee

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

的NoClassDefFoundError

我正在使用hibernate,在使用hibernate时,我得到的错误如下所示

java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.Configuration
at com.ensarm.niidle.server.SchemaManager.getDatabaseSession(SchemaManager.java:60)
at com.ensarm.niidle.server.helper.UserServiceHelper.createNiidleUser(UserServiceHelper.java:27)
at com.ensarm.niidle.server.UserSignUpServlet.doPost(UserSignUpServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Run Code Online (Sandbox Code Playgroud)

请帮助我解决它我已经添加了所有必需的hibernate jar文件与我的Web应用程序的lib文件夹.

那我该怎么办?

java hibernate jetty

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

Servlet - 将文件保存到磁盘,但不确定使用哪个路径?

我有一个接受文件上传的servlet,我想将文件存储在磁盘上的特定目录中.我正在使用码头.文件系统如下所示:

/jetty
  /bin
  /contexts
  /stuff
  /webapps
    foo.war   // one web app
    grok.war  // another web app
  start.jar
Run Code Online (Sandbox Code Playgroud)

我从start.jar文件启动jetty.在servlet的上下文中,我不确定如何将文件保存到我想要的目标,即"/ stuff"文件夹:

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException 
{
    File downloaded = new File("some/path/here/stuff"); // ?
}
Run Code Online (Sandbox Code Playgroud)

是的 - 我不确定使用什么路径 - 有没有办法我可以使用File类在java中打印当前的工作目录来解决这个问题?

谢谢

java servlets jetty

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

为嵌入式码头增加安全性

我在jetty中配置BASIC-auth时遇到问题,这是我的web.xml

<security-constraint>
    <web-resource-collection>
        <web-resource-name>resources</web-resource-name>
        <url-pattern>/resources/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>MyRealm</realm-name>
</login-config>
<security-role>
    <role-name>user</role-name>
</security-role>
Run Code Online (Sandbox Code Playgroud)

这是我尝试添加LoginService的java代码

HashLoginService myrealm = new HashLoginService("MyRealm");
    myrealm.setConfig("src/main/resources/jetty-realm.properties");
    root.getSecurityHandler().setLoginService(myrealm);
Run Code Online (Sandbox Code Playgroud)

我的jetty-realm.properties文件有以下用户

user: Lag976JGQdeosfQM,user
Run Code Online (Sandbox Code Playgroud)

我可以建立连接,但我无法进行身份验证,而且我现在已经坚持了很长时间,所以无论谁帮助我获得免费的数字啤酒!;)

authentication jetty

1
推荐指数
1
解决办法
3621
查看次数

使用grails run-app获取'java.sql.SQLException:com.mysql.jdbc.Driver'(当BuildConfig.groovy不需要重新编译时)

我已将我的grails应用程序从1.3.9升级到2.2.3然后升级到2.3.3.我阅读了1.3.9-> 2.2.3的发布和升级说明,然后是2.2.3-> 2.3.3

我正在使用OpenJDK 6,Jetty 6插件jetty 1.1,MySQL 5.5我有连接器库lib

现在我的问题是如果我运行grails clean然后grails run-app应用程序运行没有任何问题,但如果我停止它并grails run-app再次运行我得到一个巨大的错误(见这里:http://pastebin.com/36MpXhir)

我还发现,更改某些内容BuildConfig.groovy(任何使其重新编译的内容)都会使应用程序正常运行.

看看堆栈跟踪,让我困惑的第一件事就是

    [02.12.13 16:13:59.919] [main] pool.ConnectionPool Unable to create initial connections of pool.
    java.sql.SQLException: com.mysql.jdbc.Driver
        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254)
        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:486)
        at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)
        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
        at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy.afterPropertiesSet(LazyConnectionDataSourceProxy.java:162)
Run Code Online (Sandbox Code Playgroud)

org.apache.tomcat即使我使用jetty(并从中删除了tomcat BuildConfig.groovy)也有引用.

有没有人遇到过这样的问题?

mysql grails jetty

1
推荐指数
1
解决办法
6703
查看次数

java.lang.OutOfMemoryError:embeded jetty中的PermGen空间

我正在尝试在jetty服务器中部署多个应用程序.目前我有50个应用程序,我正在关注这个jetty服务器的答案 9.1多个嵌入端口和应用程序在同一个服务器实例中.

java.lang.OutOfMemoryError: PermGen space正在进行第38次部署.我该如何解决这个问题?

java eclipse jetty

1
推荐指数
1
解决办法
7294
查看次数

两个上下文一个服务器码头

我有两个jetty嵌入式服务器,localhost:9001/WebApp1和localhost:9002/WebApp2,你可以看到它们在不同的端口上.我希望他们在创建服务器期间共享相同的端口是否可能?(顺便说一下,它们也是两个独立的jar文件).所以我可以做这样的事情而不是localhost:9001/WebApp1和localhost:9001/WebApp2

或者我坚持制作战争文件,然后将它们包含在tomcat/glassfish服务器中

在创建服务器期间我经常看到这个

ContextHandler context = new ContextHandler();
context.setContextPath("/WebApp1");
context.setHandler(new WebApp1());
Server server = new Server(9001);
server.setHandler(context);
server.start();            
server.join();
Run Code Online (Sandbox Code Playgroud)

在第二个应用程序,我想有一些看起来像这样的东西

ContextHandler context = new ContextHandler();
context.setContextPath("/WebApp2");
context.setHandler(new WebApp2());
Server server = getExistingServer(9001);
server.addHandler(context);
Run Code Online (Sandbox Code Playgroud)

我看到有这样的方法server.getHandlers(); 返回一个处理程序数组如何向现有列表添加新处理程序,或者在端口9001上运行现有的jetty服务器

java jetty

1
推荐指数
1
解决办法
5027
查看次数