我在Eclipse中使用Tomcat 5.5安装设置了一个动态Web项目.
我想成为服务器设置给我们的Tomcat安装,而不是工作空间元数据的位置,但是当Eclipse显示"概述"屏幕为服务器"服务器位置"部分被禁用,因此我无法改变它.
打开服务器视图,然后双击服务器时,将显示概述屏幕.
是否可以启用"概述"屏幕的这一部分或破解配置文件以指向Tomcat安装?
在Tomcat5.5上部署的Web应用程序的默认会话超时是多少?是浏览器特定的吗?在我的Web应用程序中,默认超时既未web.xml
在代码中也未在代码中提及.
(Eclipse 3.4,Ganymede)
我在Eclipse中有一个现有的Dynamic Web Application项目.当我创建项目时,我在"配置"下拉列表中指定了"Apache Tomcat v6的默认配置".
这是一个月或两个月,我现在想将配置更改为Tomcat'v5.5'.(这将是生产服务器上的Tomcat版本.)
我尝试了以下步骤(没有成功):
Targeted Runtimes
在项目下选择Properties
Tomcat v5.5
选项已被禁用,并且UI显示以下消息:If the runtime you want to select is not displayed or is disabled you may need to uninstall one or more of the currently installed project facets.
Uninstall Facets...
链接.Runtimes
选项卡下,仅Tomcat 6
显示.Dynamic Web Module
,我选择了版本2.4
代替2.5
.Runtimes
选项卡下,Tomcat 5.5
现在显示.Cannot change version of project facet Dynamic Web Module …
我的系统上安装了Java 1.6和Tomcat 5.5.
但是Tomcat 5.5访问Java 1.5,因此结果我在Bad version number in .class file
使用JSP执行java代码时遇到错误.
如何将Tomcat版本更改为Java 1.6?
UPDATE
我尝试更改tomcat5w.exe指向1.6版本的JVM,现在我没有Bad version in .class file
出错.但现在,我收到以下错误.
exception
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause
java.lang.NullPointerException
myfirst.SearchLink.checkURL(SearchLink.java:20)
org.apache.jsp.Test_jsp._jspService(Test_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
Run Code Online (Sandbox Code Playgroud)
可能是根本原因?
我使用下面的代码将文件上传到tomcat5.5,它给了我以下异常
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
你能帮我找一下吗?
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
* Servlet implementation class FileUploadServlet
*/
public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FileUploadServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
@SuppressWarnings("rawtypes")
protected void doGet(HttpServletRequest request, HttpServletResponse response) …
Run Code Online (Sandbox Code Playgroud) 我们有一个Web应用程序,它使用Spring-Hibernate将注册用户数据保存在Oracle数据库中.该应用程序在开发环境中运行良好,但是当我们在具有更多数据的实时环境中复制它时,它失败了.最初应用程序正常启动,但在几次操作之后发生'PermGen out of space'异常.
我已经开始在Google,Spring和Hibernate论坛上搜索,但它没有帮助.关于这个错误有很多讨论,但是对于每个解决方案,都有人说:"它有效"而其他人说'它没有'.
例如,许多人提出增加-XX:MaxPermSize
JVM参数,其他人说它不起作用.有帖子说需要使用javassist库和其他库以及cglib库的问题.其他人说问题出在cglib上.
我们使用Java1.5_0_09,Spring 2.5和javaassist3.4.GA,Tomcat 5.5作为web容器,Oracle 10g作为数据库.
任何人都能解释一下导致这个问题的原因以及如何解决这个问题?
我想在下一个项目中开始使用JEE6,我必须在我的工作中工作,但也有一个限制(某种程度):Tomcat 5.5我的问题是,GlassFish会带来哪些改进(安全/速度) )vs现有的Tomcat(5.5)还是升级到新版本7?
Tomcat.exe占用了75%的CPU.有谁知道它为什么会发生,怎么会减少?
我正在使用Tomcat5.5和J2SDK v 1.4.2_12
我在发送电子邮件时遇到问题.
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at org.apache.jsp.online_005fScheme_005fSend_005fMail_jsp.sendMail(online_005fScheme_005fSend_005fMail_jsp.java:116)
at org.apache.jsp.online_005fScheme_005fSend_005fMail_jsp._jspService(online_005fScheme_005fSend_005fMail_jsp.java:416)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码snipet.
Properties props = new Properties();
props.put("mail.smtp.host", "10.101.3.229"); …
Run Code Online (Sandbox Code Playgroud) 我的情况是我的应用程序需要检查POST请求的内容/数据/正文/有效负载而不更改后续getParameter调用的结果.
从inputStream中读取正文:
可以使用来自request.getInputStream
或来自BufferedReader 的InputStream来读取正文request.getReader
.
读取POST参数:
POST请求通常包括请求正文中的请求参数.这些可以使用getParameter
.
问题:
第一个getParameter
调用在内部解析inputStream并将所有参数插入到参数HashMap中.它要求inputStream仍然包含用于解析的内容.因此,无法检查内容并仍然有一个有效的getParameter调用.
建议(但不充分)的解决方案
创建一个请求包装器,缓存输入流并返回getInputStream的缓存.
我已经看到该解决方案在整个网络上建议,但它不起作用,因为getParameter
实际上并没有调用getInputStream
,而是指在请求对象中隐藏的原始inputBuffer.我已经尝试过,无论是在Servlet中还是使用过滤器
我能想到的唯一解决方案是重写getParameter以手动解析缓存的输入流.但这感觉就像一个坏主意.
有没有人有任何其他选择?(这是Tomcat 5.5)这感觉它应该是一个常见的用例; 我简直不敢相信它有多难.