Tag: tomcat

我怎样才能应对“IllegalStateException:BeanFactory未初始化或已经关闭”?

在Tomcat 7上使用Grails 2.0.0,我在启动时获得了以下权利: 2011-08-21 11:10:09,758 [main] ERROR StackTrace – Full Stack Trace: java.lang.IllegalStateException: BeanFactory not initialized or already closed – call ‘refresh’ before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172) at org.springframework.context.support.AbstractApplicationContext.containsBean(AbstractApplicationContext.java:1109) at org.codehaus.groovy.grails.web.context.GrailsContextLoader$1.run(GrailsContextLoader.java:88) at org.codehaus.groovy.grails.lifecycle.ShutdownOperations.runOperations(ShutdownOperations.java:62) at org.codehaus.groovy.grails.web.context.GrailsContextLoader.closeWebApplicationContext(GrailsContextLoader.java:136) at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4763) at org.apache.catalina.core.StandardContext$4.run(StandardContext.java:5472) at java.lang.Thread.run(Thread.java:619) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5481) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:225) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:812) at […]

文件上传流从哪里获取内容?

我有一个关于文件上传的问题,这与它的工作原理有关,而不是代码问题。 我在互联网上看了,但我找不到合适的答案。 我有一个在tomcat上运行的Web应用程序,它处理文件上传(通过servlet)。 假设我现在要上传大文件(> 1 Gb)。 我的理解是,一旦实际传输了整个文件,HTTP请求的多部分内容就可以在我的servlet中使用。 我的问题是请求的内容实际存储在哪里? 当一个人调用HttpServletRequest.getParts()时, Part对象上有一个InputStream 。 但是,从哪里读取流? Tomcat将它存储在某个地方吗? 我想这可能不够清楚,所以我会根据你的意见更新post,如果有的话。 谢谢

Android – 如何以编程方式在密钥库中存储证书?

我正在制作一个金融交易Android应用程序。 它需要SSL身份validation,我成功完成了它(Android和Tomcat之间的握手)。 我使用keytool和openSSL生成服务器和客户端证书。 Tomcat certifcate格式是JKS,而android formate是BKS。 我将此BKS文件存储在Raw文件夹中,并按如下方式使用: public class NetworkCallSecure extends AsyncTask { ResponseListener responseListener; Activity activity; ResultCodes code; public NetworkCallSecure(Activity activity, ResponseListener responseListener, ResultCodes code) { this.responseListener = responseListener; this.activity = activity; this.code = code; } @Override protected String doInBackground(String… params) { try{ System.setProperty(“http.keepAlive”, “false”); HttpsURLConnection .setDefaultHostnameVerifier(new HostnameVerifier() { public boolean verify(String hostname, SSLSession […]

使用ScheduledExecutorService时,Java webapp内存泄漏

我的Tomcat 7报告我的webapp可能存在内存泄漏 SEVERE: The web application [/mywebapp] appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak. 我的webapp中有一个长时间运行的任务,当webapp启动时会被初始化。 public class MyContextListener implements ServletContextListener{ Scheduler scheduler = null; public MyContextListener(){ scheduler = new Scheduler(); } @Override public void contextDestroyed(ServletContextEvent arg0) { scheduler.stop(); } […]

使用persistence.xml时将Hibernate 4.0与Tomcat 7一起使用时出现JndiException

我在Tomcat 7上使用Hibernate 4.0和JPA persistence.xml文件。没有Struts,只是直接使用一些Jersey服务的Hibernate。 以下是我遇到的例外情况: Caused by: org.hibernate.service.jndi.JndiException: Unable to lookup JNDI name [jdbc/MyDB] at org.hibernate.service.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:68) at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.configure(DatasourceConnectionProviderImpl.java:116) at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:223) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:89) at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71) at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2273) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2269) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1738) at org.hibernate.ejb.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:94) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904) … 8 more Caused by: javax.naming.NameNotFoundException: Name jdbc is […]

Tomcat的“URIEncoding”,编码filter和request.setCharacterEncoding有什么区别?

可能有很多方法可以解决编码问题: 编码filter,如Spring MVC UTF-8编码 在Tomcat的server.xml中设置URIEncoding = UTF-8,如http://struts.apache.org/release/2.1.x/docs/how-to-support-utf-8-uriencoding-with-tomcat.html 。 request.setCharacterEncoding(utf-8) 今天,我有一个问题,路径参数不能很好地解码 @ResponseBody @RequestMapping(value=”/context/method/{key}”,method=RequestMethod.GET,produces = “application/json;charset=utf-8”) public String method(@PathVariable String key){ logger.info(“key=”+key+”————“); } 我可以看到密钥被解码坏了! 如果我从前端传出一个词”新浪” ,它就会变成”æ°æµª” 。 我编写以下代码来检查服务器是否使用“ISO-8859-1”对其进行解码: public static void main(String args[]) throws UnsupportedEncodingException{ String key=”新浪”; byte[] bytes=key.getBytes(“UTF-8″); String decode=new String(bytes,”ISO-8859-1″); System.out.println(decode); } 它出现了相同的输出”æ°æµª” 。 实际上,路径变量用ISO-8859-1解码。 然后我尝试在我的web.xml添加一个filter来解决这个问题: encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 但是同样的乱码。 […]

Apache Tomcat 7在每个请求上更改JSESSIONID

这个问题让我感到疯狂,所以也许有人可以帮我理解问题所在。 我有一个tomcat web应用程序正面向HAProxy。 HAProxy也在进行SSL卸载,并配置为使用粘性会话。 我正在使用Tomcat的会话复制function,似乎工作正常。 会话出现在两个应用服务器上。 出于某种原因,Tomcat为每个Web请求生成一个新的JSESSIONID,然后将旧会话的内容复制到新会话中。 也就是说,我的会话内容仍然在新会话中,但会生成一个新ID并将其发送回客户端。 但它只对我的Web应用程序执行此操作。 它不会对/ manager应用程序执行此操作。 我已经尝试了本书中的每一个技巧,例如在我的context.xml中设置它: 并在我的Context元素上设置这些属性: 而且,结果仍然是一样的。 Tomcat为每个请求生成一个新的会话ID,并将旧会话的内容复制到新的id中。 我怀疑它与HAProxy有关,除了/ manager应用程序也支持HAProxy并且它没有表现出这种行为。 为什么Tomcat会这样做,我该怎么做才能阻止它呢?

设置Java环境(Apache Tomcat)以编码UTF-8

我想知道如何设置Java环境以UTF-8编码。 基本上我有JSP页面显示一些阿拉伯文本,但它们似乎没有正确的编码。 当我在IDE中运行页面时,它工作正常,但在它们是主机的服务器上,它很简单地将其显示为问号。 我只是想知道如何设置java环境或apache tomcat来编码UTF-8。 任何帮助将不胜感激。

Ant Tomcat 7重新加载FileNotFoundException

我正在尝试从ant重新加载Web应用程序。 但我找不到错误: D:\project\triplelands\ocbcfilesending\src\com.ocbcmcd.monitoring\build.xml:90: java.io.FileNotFoundException: http://localhost:8080/manager/reload?path=%2Fhello 我也尝试直接访问: http:// localhost:8080 / manager / reload?path = / hello我的浏览器收到404错误代码: 我的配置是: My Ant Script build.properties appserver.home=C:/appserv/apache6 #for Tomcat 5 use $appserver.home}/server/lib #for Tomcat 6 use $appserver.home}/lib appserver.lib=${appserver.home}/lib deploy.path=${appserver.home}/webapps tomcat.manager.url=http://localhost:8080/manager tomcat.manager.username=root tomcat.manager.password=root tomcat用户配置 谢谢你的建议

我可以在Tomcat上运行.jar文件吗?

一个非常菜鸟的问题。 我可以在Tomcat上运行.jar文件吗? 我不是在构建一个网络应用程序。 我只需要在其中运行一个带有HalloWorld的.jar。 这是可能/适当的吗? 谢谢