我正在开发一个包含以下3个组件的简单Web应用程序:
我需要决定使用哪个java webserver.一些选项是:
a)在java(com.sun.net.httpserver)中使用httpserver类并创建一个多线程进程.
b)使用Glassfish服务器并在其上部署创建网页的应用程序等.
c)使用Jetty.
d)?
网络服务器的选择标准是:
稳定性(进程(Web服务器)应该运行几天而不重启)
可能的最大并发请求大约为200.平均情况大约为30.
缓存在Web服务器上完成,如果数据可用或数据处理实体未标记为脏,则从Web服务器本身提供请求.
非常感谢您的建议.
谢谢.罗恩.
我正试图在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世界还是比较陌生的,并且在几十个或多或少做同样事情的图书馆之间选择的美丽让我感到不知所措.
有了Jetty和CXF.我正在寻找一个内置支持各种传输和协议的Web服务堆栈.
我的印象是CXF是最近的项目,并且将成为新软件项目的首选.特别是在涉及各种不同协议和标准(如WS-*)的应用程序时.
您能否就这些框架之间的差异发表意见?
哪一个对不同的协议和标准有更广泛的支持?
您更喜欢哪一个设计,例如它们如何将应用程序逻辑中的传输,身份验证,授权,序列化方面隐藏起来?
任何一种答案都非常欢迎!
干杯,亚历克斯
我目前正在使用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) 我正在使用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文件夹.
那我该怎么办?
我有一个接受文件上传的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中打印当前的工作目录来解决这个问题?
谢谢
我在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)
我可以建立连接,但我无法进行身份验证,而且我现在已经坚持了很长时间,所以无论谁帮助我获得免费的数字啤酒!;)
我已将我的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)也有引用.
有没有人遇到过这样的问题?
我正在尝试在jetty服务器中部署多个应用程序.目前我有50个应用程序,我正在关注这个jetty服务器的答案 9.1多个嵌入端口和应用程序在同一个服务器实例中.
我java.lang.OutOfMemoryError: PermGen space正在进行第38次部署.我该如何解决这个问题?
我有两个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服务器