tomcat下的webapps 是什么
webapps目录用来存放应用程序。当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。当然,也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。tomcat的webapps目录下的ROOT目录介绍:tomcat的webapps目录下有个默认的ROOT目录,也可以把项目war包解压开放入ROOT目录,同样可以运行项目。但放在ROOT目录下之后访问项目方式就会变为:ip+端口号。所以项目放在webapps目录和放在ROOT目录的区别是webapps不需要解压,ROOT需要解压;webapps访问项目需要加项目名,ROOT不需要加项目名。tomcat默认看到的cat页面的文件就是在ROOT文件夹下的,如果ROOT目录删除后,tomcat启动后还是会生成的。扩展资料:有两个办法可以在系统中部署web服务。1> 拷贝WAR文件或者web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。2> 为web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个web应用本身可以存储在硬盘上的任何地方。如果有一个WAR文件,想部署它,则只需要把该文件简单的拷贝到CATALINA_BASE/webapps目录下即可,文件必须以“.war”作 为扩展名。一旦Tomcat监听到这个文件,它将(缺省的)解开该文件包作为一个子目录,并以WAR文件的文件名作为子目录的名字。接下来,Tomcat 将在内存中建立一个context,就好象在server.xml文件里建立一样。当然,其他必需的内容,将从server.xml中的 DefaultContext获得。部署web应用的另一种方式是写一个Context XML片断文件,然后把该文件拷贝到CATALINA_BASE/webapps目录下。一个Context片断并非一个完整的XML文件,而只是一个 context元素,以及对该应用的相应描述。这种片断文件就像是从server.xml中切取出来的context元素一样,所以这种片断被命名为 “context片断”。参考资料来源:百度百科-tomcat
Tomcat启动报错,求解!!
重新安装一下
apache-tomcat与jakarta-tomcat有什么区别?
apache是一个开源的组织名。后来制定了一个以apache命名的开源协议。jakarta是apache组织下的一套java解决方案的开源软件的名称,它包括了很多子项目。tomcat,ant,struts等等也是apache下的开源项目。同时也是jakarta的关联项目。官网:www.apache.org
转载jakarta tomcat与Apache Tomcat 有什么区别
1)apache是一个开源的组织名。后来制定了一个以apache命名的开源协议。 jakarta是apache组织下的一套Java解决方案的开源软件的名称,它包括了很多子项目。Tomcat,ant,struts等等也是apache下的开源项目。同时也是jakarta的关联项目。 官网:www.apache.org(分别点击左边的“jakarta”和“tomcat”可以分别进入jakarta页http://jakarta.apache.org/和Apache tomcat页http://tomcat.apache.org/,找到它们页面上的archives即可以进入它们各自的tomcat存档,哈,其实都是一样的啦。其实都在这里http://archive.apache.org/dist/啦,找到其中的tomcat和jakarta就可以啦)2)最开始,所有关于Java的项目,都集中在Apache的Jakarta项目之下,作为子项目存在,这时的Tomcat称为Jakarta Tomcat。后来,Jakarta下面项目太多,就开始分家了,如Ant、tomcat等等,所以现在称Apache Tomcat。实际是一回事儿。3)apache是多平台下优秀的web服务程序,apache本身只能提供静态页面服务,要解释脚本语句。例如php,jsp,perl等就需要其他程序来支持。tomcat是jsp解释器,所以要让apache解释jsp文件就需要它根tomcat整合。4)apache是HTTP服务器 ,用来接收及处理客户请求(但是只是静态页面服务) ,Tomcat严格的说是jsp引擎 , 服务器收到请求后判断是否jsp文件,是,则由jsp引擎(eg: tomcat)将jsp代码转换成Servlet码 ,再通知服务器上的java编译器(eg:JDK)将Servlet字节码编译成class文件(文件一般放在Tomcat的work目录下),最后由JVM执行class文件 , 把结果以html代码形式返回client .
JDK、Tomcat与JEtty和Eclipse的关系是?
tomcat是服务器。Eclipse是开发工具。从网上下载插件使Eclipse应对各种开发。JDK(Java Development Kids)就是java开发工具的意思。JEtty这个没有接触过。
生产环境下Tomcat跟Jetty,Resin哪个用的比较多
Tomcat应该是最多,jetty通常被用作内嵌的web容器,resin是用的最少的,但resin还有其他的例如ejb容器。
jetty 支持内嵌ssh项目吗,为什么在tomcat下面正常的war 放到jetty就跑不起来
用jetty?这个你确定可以的
tomcat和jetty的区别
1、在架构方面Jetty架构需要在Handler基础上才能实现,主要功能都可以用Handler来实现,也比较简单;Tomcat架构则需要建立在容器设计基础上才能实现,比Jetty复杂一些。2、在轻量级方面Jetty相对于Tomcat更轻一些,Tomcat既要遵循Java Servlet,还要扩展大量的JEE特性以满足企业级应用的需求。3、在灵活性方面Jetty灵活性更高一些,扩展性强,开发者可以对etty本身进行二次开发,重量级的Tomcat原本便支持过多特性,成本比Jetty要高很多。3、灵活性4、其它比较Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。Tomcat目前应用比较广泛,对JavaEE和Servlet的支持更加全面,很多特性会直接集成进来。
如何选择Tomcat和Jetty
1、在架构方面Jetty架构需要在Handler基础上才能实现,主要功能都可以用Handler来实现,也比较简单;Tomcat架构则需要建立在容器设计基础上才能实现,比Jetty复杂一些。2、在轻量级方面Jetty相对于Tomcat更轻一些,Tomcat既要遵循Java Servlet,还要扩展大量的JEE特性以满足企业级应用的需求。3、在灵活性方面Jetty灵活性更高一些,扩展性强,开发者可以对etty本身进行二次开发,重量级的Tomcat原本便支持过多特性,成本比Jetty要高很多。3、灵活性4、其它比较Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。Tomcat目前应用比较广泛,对JavaEE和Servlet的支持更加全面,很多特性会直接集成进来。
jetty和tomcat的区别和联系是什么
Jetty和Tomcat为目前全球范围内最著名的两款开源的webserver/servlet容器。由于它们的实现都遵循Java Servlet规范,一个Java Web应用部署于两款容器的任意一个皆可。但选择哪个更优?也许这得看场景。 近期很多人关注Jetty,也许主要是因为GAE放弃了Tomcat而选择了Jetty。于是,以很直接的想法,Jetty更符合GAE的需求、即云环境的需求,亦分布式环境的需求。 那Jetty与Tomcat比较,有哪差异呢? 自己简单做了些调研,也请救了熟悉Tomcat和Jetty的朋友和师兄,得出以下结论: 1)Jetty更轻量级。这是相对Tomcat而言的。由于Tomcat除了遵循Java Servlet规范之外,自身还扩展了大量JEE特性以满足级应用的需求,所以Tomcat是较重量级的,而且配置较Jetty亦复杂许多。但对于大量普通互联网应用而言,并不需要用到Tomcat其他高级特性,所以在这种情况下,使用Tomcat是很浪费资源的。这种劣势放在分布式环境下,更是明显。换成Jetty,每个应用服务器省下那几兆内存,对于大的分布式环境则是节省大量资源。而且,Jetty的轻量级也使其在处理高并发细粒度请求的场景下显得更快速高效。2)Jetty更灵活,体现在其可插拔性和可扩展性,更易于开发者对Jetty本身进行二次开发,定制一个适合自身需求的Web Server。相比之下,重量级的Tomcat原本便支持过多特性,要对其的成本远大于丰富Jetty的成本。用自己的理解,即增肥容易难。3)然而,当支持大规模级应用时,Jetty也许便需要扩展,在这场景下Tomcat便是更优的。总结:Jetty更满足公有云的分布式环境的需求,而Tomcat更符合级环境。
docker tomcat镜像 应该拿什么镜像为基础镜像
创建一个安全的Docker基镜像的方法** 构建一个Java环境基镜像 **正如我刚解释的,Alpine Linux是一个构建自有镜像时不错的选择,因此,我们在此将使用它来构建简洁高效的Docker镜像,我们开始吧!组合:Alpine + bash每个Dockerfile第一个指令都是指定它的父级容器,通常是用于继承,在我们的例子中是alpine:latest:shFROM alpine:latestMAINTAINER cSphere 我们同时声明了谁为这个镜像负责,这个信息对上传到Docker Hub的镜像是必要的。就这样,你就有了往下操作的基础,接下来安装我们选好的shell,把下边的命令加上:shRUN apk add --no-cache --update-cache bashCMD ["/bin/bash"]最终的Dockerfile是这样:```shFROM alpine:latestMAINTAINER cSphere docker@csphere.cn >RUN apk add --no-cache --update-cache bashCMD ["/bin/bash"]```好了,现在我们构建容器:sh$ docker build -t my-java-base-image .Sending build context to Docker daemon 2.048 kBStep 1 : FROM alpine:latest---> 2314ad3eeb90Step 2 : MAINTAINER cSphere ---> Running in 63433312d77e---> bfe94713797aRemoving intermediate container 63433312d77e... 省略若干行Step 4 : CMD /bin/bash---> Running in d2291684b797---> ecc443d68f27Removing intermediate container d2291684b797Successfully built ecc443d68f27并且运行它:sh$ docker run --rm -ti my-java-base-imagebash-4.3#成功了!我们有了一个运行着bash的Alpine Linux。,
tomcat下的webapps 是什么
tomcat下的webapps是用来存放运行工程的目录。在服务器上部署web项目时,直接将项目war包放入tomcat中的webapps文件下后重启tomcat后,war包会自动解压,这时访问项目的地址是ip+端口+项目名称就可以正常访问项目。扩展资料tomcat的webapps目录下的ROOT目录介绍:tomcat的webapps目录下有个默认的ROOT目录,也可以把项目war包解压开放入ROOT目录,同样可以运行项目。但放在ROOT目录下之后访问项目方式就会变为:ip+端口号。所以项目放在webapps目录和放在ROOT目录的区别是webapps不需要解压,ROOT需要解压;webapps访问项目需要加项目名,ROOT不需要加项目名。tomcat默认看到的cat页面的文件就是在ROOT文件夹下的,如果ROOT目录删除后,tomcat启动后还是会生成的。
logback在tomcat默认工程中使用问题5
没遇到过这个问题,但我觉得问题的原因应该是,你有两个项目在使用同一个log地址,也就是说,有两个项目都在向D:/cqinfo.log这个文件写日志吧,你确认下,猜测
请问什么是CMS?它和tomcat之类的有关系吗?
CMS是Content Management System就是内容管理系统的意思...tomcat是一个应用服务器...要说联系,就是tomcat可以用来部署CMS...
访问tomcat8080 为什么进入了 cef remote debugging
Application Structure应用程序结构Every CEF3 application has the same general structure.Provide an entry-point function that initializes CEF and runs either sub-process executable logic or the CEF message loop.Provide an implementation of CefApp to handle process-specific callbacks.Provide an implementation of CefClient to handle browser-instance-specific callbacks.Call CefBrowserHost::CreateBrowser() to create a browser instance and manage the browser life span using CefLifeSpanHandler.每个CEF3应用程序都是相同的结构提供入口函数,用于初始化CEF、运行子进程执行逻辑或者CEF消息循环。提供CefApp实现,用于处理进程相关的回调。提供CefClient实现,用于处理browser实例相关的回调执行CefBrowserHost::CreateBrowser()创建一个browser实例,使用CefLifeSpanHandler管理browser对象生命周期。Entry-Point Function入口函数As described in the “Processes” section a CEF3 application will run multiple processes. The processes can all use the same executable or a separate executable can be specified for the sub-processes. Execution of the process begins in the entry-point function. Complete platform-specific examples for Windows, Linux and Mac OS-X are available in cefclient_win.cc, cefclient_gtk.cc and cefclient_mac.mm respectively.像本文中进程章节描述的那样,一个CEF3应用程序会运行多个进程,这些进程能够使用同一个执行器或者为子进程定制的、单独的执行器。进程的执行从入口函数开始,示例cefclient_win.cc、cefclient_gtk.cc、cefclient_mac.mm分别对应Windows、Linux和Mac OS-X平台下的实现。When launching sub-processes CEF will specify configuration information using the command-line that must be passed into the CefExecuteProcess function via the CefMainArgs structure. The definition of CefMainArgs is platform-specific. On Linux and Mac OS X it accepts the argc and argv values which are passed into the main() function.当执行子进程是,CEF将使用命令行参数指定配置信息,这些命令行参数必须通过CefMainArgs结构体传入到CefExecuteProcess函数。CefMainArgs的定义与平台相关,在Linux、Mac OS X平台下,它接收main函数传入的argc和argv参数值。CefMainArgs main_args(argc, argv);On Windows it accepts the instance handle (HINSTANCE) which is passed into the wWinMain() function. The instance handle is also retrievable via GetModuleHandle(NULL).在Windows平台下,它接收wWinMain函数传入的参数:实例句柄(HINSTANCE),这个实例能够通过函数GetModuleHandle(NULL)获取。CefMainArgs main_args(hInstance);Single Executable单个执行器When running as a single executable the entry-point function is required to differentiate between the different process types. The single executable structure is supported on Windows and Linux but not on Mac OS X.当运行单个执行器时,根据不同的进程类型,入口函数有差异。Windows、Linux平台支持单个执行器架构,Mac OS X平台则不行。// 程序执行函数int main(int argc, char* argv[]) { // Structure for passing command-line arguments. // The definition of this structure is platform-specific. // 传递命令行参数的结构体。 // 这个结构体的定义与平台相关。 CefMainArgs main_args(argc, argv); // Optional implementation of the CefApp interface. // 可选择地实现CefApp接口 CefRefPtr<MyApp> app(new MyApp); // Execute the sub-process logic, if any. This will either return immediately for the browser // process or block until the sub-process should exit. // 可能会执行子进程逻辑,这个函数的执行在browser进程时会立即返回,在子进程时会堵塞直到退出时返回。 int exit_code = CefExecuteProcess(main_args, app.get()); if (exit_code >= 0) { // The sub-process terminated, exit now. // 子进程被终结,立即结束。 return exit_code; } // Populate this structure to customize CEF behavior. // 填充这个结构体,用于定制CEF的行为。 CefSettings settings; // Initialize CEF in the main process. // 在main进程中初始化CEF CefInitialize(main_args, settings, app.get()); // Run the CEF message loop. This will block until CefQuitMessageLoop() is called. // 执行消息循环,此时会堵塞,直到CefQuitMessageLoop()函数被调用。 CefRunMessageLoop(); // Shut down CEF. // 退出CEF。 CefShutdown(); return 0;}Separate Sub-Process Executable单独子进程执行器When using a separate sub-process executable you need two separate executable projects and two separate entry-point functions.当使用一个单独子进程执行器时,你需要2个分开的可执行工程和2个分开的入口函数。Main application entry-point function:主程序的入口函数:// Program entry-point function.// 程序入口函数int main(int argc, char* argv[]) { // Structure for passing command-line arguments. // The definition of this structure is platform-specific. // 传递命令行参数的结构体。 // 这个结构体的定义与平台相关。 CefMainArgs main_args(argc, argv); // Optional implementation of the CefApp interface. // 可选择性地实现CefApp接口 CefRefPtr<MyApp> app(new MyApp); // Populate this structure to customize CEF behavior. // 填充这个结构体,用于定制CEF的行为。 CefSettings settings; // Specify the path for the sub-process executable. // 指定子进程的执行路径 CefString(&settings.browser_subprocess_path).FromASCII(“/path/to/subprocess”); // Initialize CEF in the main process. // 在主进程中初始化CEF CefInitialize(main_args, settings, app.get()); // Run the CEF message loop. This will block until CefQuitMessageLoop() is called. // 执行消息循环,此时会堵塞,直到CefQuitMessageLoop()函数被调用。 CefRunMessageLoop(); // Shut down CEF. // 关闭CEF CefShutdown(); return 0;}Sub-process application entry-point function: 子进程程序的入口函数:// Program entry-point function.// 程序入口函数int main(int argc, char* argv[]) { // Structure for passing command-line arguments. // The definition of this structure is platform-specific. // 传递命令行参数的结构体。 // 这个结构体的定义与平台相关。 CefMainArgs main_args(argc, argv); // Optional implementation of the CefApp interface. // 可选择性地实现CefApp接口 CefRefPtr<MyApp> app(new MyApp); // Execute the sub-process logic. This will block until the sub-process should exit. // 执行子进程逻辑,此时会堵塞直到子进程退出。 return CefExecuteProcess(main_args, app.get());}Message Loop Integration集成消息循环CEF can also integrate with an existing application message loop instead of running its own message loop. There are two ways to do this.CEF可以不用它自己提供的消息循环,而与已经存在的程序中消息环境集成在一起,有两种方式可以做到:Call CefDoMessageLoopWork() on a regular basis instead of calling CefRunMessageLoop(). Each call to CefDoMessageLoopWork() will perform a single iteration of the CEF message loop. Caution should be used with this approach. Calling the method too infrequently will starve the CEF message loop and negatively impact browser performance. Calling the method too frequently will negatively impact CPU usage.Set CefSettings.multi_threaded_message_loop = true (Windows only). This will cause CEF to run the browser UI thread on a separate thread from the main application thread. With this approach neither CefDoMessageLoopWork() nor CefRunMessageLoop() need to be called. CefInitialize() and CefShutdown() should still be called on the main application thread. You will need to provide your own mechanism for communicating with the main application thread (see for example the message window usage in cefclient_win.cpp). You can test this mode in cefclient on Windows by running with the “--multi-threaded-message-loop” command-line flag.周期性执行CefDoMessageLoopWork()函数,替代调用CefRunMessageLoop()。CefDoMessageLoopWork()的每一次调用,都将执行一次CEF消息循环的单次迭代。需要注意的是,此方法调用次数太少时,CEF消息循环会饿死,将极大的影响browser的性能,调用次数太频繁又将影响CPU使用率。
Tomcat怎样用Debug模式启动?
tomcat debug参数关键字: debug 一般调试一个web项目的java代码时,需要将你的tomcat服务器和你的开发工具(比如Jbuilder)集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),这些方式都是在本地进行,即你的开发工具和tomcat运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远程调试功能了。实现方法:在tomcat的catalina.bat文件中加入下面的设置,当然SET CATALINA_OPTS 变量应该在使用它之前。这是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能,address=5888表示远程连接的端口号,可以设置成任意其他不冲突端口。其他的应用服务器比如weblogic也应该可以设置这些参数,有兴趣的可以测试。SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888 这样就Ok了,重启动tomcat,可以直接独立启动,而不用在eclipes的插件中启动。打开eclipse中的debug设置窗口,选择Remote Java Application ,新建一个debug项,输入服务器IP和刚才设置端口号,点ok就可以进入debug状态了。Jbuilder中同样可以设置Remote Java Application 来源:http://wangzhongjie.javaeye.com/blog/145472
tomcat reloadable 问题.
1.可以在test/META-INF目录下面放置一个context.xml文件,内容如下:<Context reloadable="true"/>2.也可以在conf/Catalina/localhost目录下放置一个test.xml文件,内容如下:<Context reloadable="true"/>3.如果想让localhost下的所有web应用都自动reload,那么可以在conf/Catalina/localhost目录下放置一个context.xml.default文件,内容如下:<Context reloadable="true"/>4.如果希望tomcat下的所有web应用都自动reload,还有一种方法。方法如下:随便修改一下test/WEB-INF/web.xml文件,比如加个空行,然后保存,这样tomcat会自动监测到web.xml被修改了,然后就重新加载test应用。这个自动监测的配置属于tomcat的默认配置,配置信息如下:conf/context.xml文件中<WatchedResource>WEB-INF/web.xml</WatchedResource>这个文件中的配置适用于所有的web应用,不过这种方法有些局限性,就是WatchedResource中只能指定一个具体的文件,不支持WEB-INF/*等模式匹配,所以无法做到监测整个web应用。5.还可以修改server.xml文件,在<host>下面配置<Context>信息:<Context path="/test" docBase="test" reloadable="true"/>不过这种方法不建议使用,因为修改server.xml文件需要重启tomcat,而且不便于管理,因为server.xml里面的配置信息比较重要,所以最好把web应用自身的配置信息放在单独的文件中管理比较好。
加入jsf标签后,启动tomcat报错,求助,
java.lang.ClassNotFoundException: com.sun.el.ExpressionFactoryImpl你使用了el表达式,看看是否导入了需要的包。如果确定导入了包,看看JSP页面开头是否有定义启用EL表达式。(除了少数几个版本,都默认启用EL表达式,有一个EL表达式的配置标签:是否禁用EL表达式,true为禁用,不过忘了)
在腾讯云买的服务器上部署了tomcat,在主机上输入IP:8080访问不了
应当是服务器设置不对吧。。
怎样启动xampp的tomcat
第一看tomcat端口是否被占用了,如果被占用了在xampp的tomcat的conf下找到server进行修改;第二xampp应用的前提是安装了jdk,那么我们就要看jdk是否安装正确了,验证方法就不说了,很简单,cmd里面运行就行;第三如果你没有安装jdk,直接复制了一份jre,则只需打开catalina_start这个文件(可用EditPlus打开),看其中的脚本(有点基础的应该能看懂大部分),找到jdk路径的设置(当运行xampp时启动tomcat要找jdk路径,找不到则可能包你上面出的错误):set JAVA_HOME=%JAVA_HOME%set CATALINA_HOME : %CATALINA_HOME%如果环境变量中没配置%JAVA_HOME%和%CATALINA_HOME%,配置上就行,具体方法自己网上找,很简单。看你cmd的输出貌似JAVA_HOME有问题,第三种可能性很大
XAMPP中tomcat无法启动,不知怎么解决
首先,安装XAMPP需要安装vc9、vc11等运行库(官方下载界面均有提示),并且已配置了JDK。对于安装XAMPP过程中需要注意的一些问题:win+R 运行,输入regedit,找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices,修改为对应的路径即可:对于安装完成后的XAMPP,对于他的启动方式,需要以管理员身份运行:但此时有可能FileZilla和Tomcat还不能够start,此时,需要在xampp文件夹下,再次“以管理员身份运行”filezilla_setup.bat、catalina_service.bat 进行service安装,并同样的使用管理员方式 filezilla_start.bat、filezilla_stop.bat,catalina_start.bat、catalina_stop.bat 等来启动与停止FileZilla和Tomcat,运行成功
XAMPP中Tomcat无法运行
第一看tomcat端口是否被占用了,如果被占用了在xampp的tomcat的conf下找到server进行修改;第二xampp应用的前提是安装了jdk,那么我们就要看jdk是否安装正确了,验证方法就不说了,很简单,cmd里面运行就行;第三如果你没有安装jdk,直接复制了一份jre,则只需打开catalina_start这个文件(可用EditPlus打开),看其中的脚本(有点基础的应该能看懂大部分),找到jdk路径的设置(当运行xampp时启动tomcat要找jdk路径,找不到则可能包你上面出的错误):set JAVA_HOME=%JAVA_HOME%set CATALINA_HOME : %CATALINA_HOME%如果环境变量中没配置%JAVA_HOME%和%CATALINA_HOME%,配置上就行,具体方法自己网上找,很简单。看你cmd的输出貌似JAVA_HOME有问题,第三种可能性很大
如何修改tomcat deploy path
tomcat -》cof-》server.xml中<Context path="" reloadable="true" docBase="D:WorkSpace estWebRoot"/>修改这个
tomcat的年轻代GC时间越来越长
这说明个现象说明 年轻代里的对象越来越多 GC一次扫描所用的时间越来越久。你可以观察一下old带中是否一直增长,如果一直增长,就要检查是否有memery leak
windows环境下的tomcat集群怎么搭建
一、软件需求 操作系统:Windows XP JDK:jdk1.6.0_16,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 。 Apache :httpd-2.2.17 (一个),下载地址:http://httpd.apache.org/ 。 Tomcat:tomcat-7.0.2 (两个),下载地址:http://tomcat.apache.org/download-70.cgi 。 mod_jk:mod_jk-apache-2.0.55.so (1个),下载地址:http://tomcat.apache.org/download-70.cgi 。二、环境搭建 安照上篇《windows下apache tomcat整合》中的方法安装jdk/apache/tomcat三、环境配置(两种配置) 1. 原始配置 (1)apache配置 1>mod_jk.conf(apache/conf)mod_jk.conf 2>httpd.conf(apache/conf)httpd.conf 3>workers.properties(apache/conf)workers.properties (2)tomcat配置 1>server.xml(tomcat/conf)server.xml 2>web.xml(tomcat/conf)web.xml(tomcat下的) 3>catalina.bat(tomcat/bin)这个文件只是添加了一个对tomcat内存优化配置的更改(前两行)catalina.bat 以上最后的两个文件及前面有些配置使用该优化tomcat和jdk的,配置完成后的各个配置文件,具体操作步骤如下: (1)负载均衡 找到Apache安装目录下conf目录中的httpd.conf文件。 在文件最后添加一句:include "D:webserverApache GroupApache2confmod_jk.conf"(具体路径是你放置的位置而定) 接着在conf目录中新建文件mod_jk.conf并添加下面的内容: #加载mod_jk Module LoadModule jk_module modules/mod_jk-apache-2.0.59.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定哪些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名 JkMount /*.jsp controller 在conf目录下新建workers.properties文件并添加如下内容: #server worker.list = controller #========tomcat1======== worker.tomcat1.port=11009 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 #========tomcat2======== worker.tomcat2.port=12009 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 #(解释一下AJP13是 Apache JServ Protocol version 1.3) #========controller,负载均衡控制器======== worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 worker.controller.sticky_session=1 将mod_jk-apache-2.0.59.so 复制到Apache的modules目录中。 接下来配置2个Tomcat 打开tomcat1conf server.xml 将Server port 改为11005:<Server port="11005" shutdown="SHUTDOWN"> 将Define Connector port改为11080:<Connector port="11080" maxHttpHeaderSize="8192" 将AJP13 Connector port改为11009:<Connector port="11009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 打开tomcat2confserver.xml 将Server port 改为12005:<Server port="12005" shutdown="SHUTDOWN"> 将Define Connector port改为12080:<Connector port="12080" maxHttpHeaderSize="8192" 将AJP13 Connector port改为12009:<Connector port="12009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> 好了,现在建立一个测试程序 分别在两个Tomcat的webapps中建立test目录,并新建test.jsp文件,内容如下: <% System.out.println("test"); %> 启动apache, tomcat1, tomcat2
myeclipse部署tomcat问题 Deployment is out of date due
提示中是这个意思,重新部署失败,可能是由于服务器在运行中,锁定了一些文件,导致无法重新部署。所以你可以看看tomcat是不是没关,或者eclipse启动的java进程没有正常关闭,可以在任务管理器里面强制把java进程干掉。另外,你可以到tomcat的webapss里面看看那个web目录能不能删掉,不能删掉就说明有进程把它锁了,如果上述都不行,可以用unlocker来试试,这是个解锁文件的东西,或者重启电脑- -
Apache Tomcat/7.0.68 - Error report
题主这是用什么报表的时候出现的报错啊,我用finereport的时候没有看到过这种类型的报错哎,不过貌似这个报错和服务器有关,也有可能是调用java的时候出现的问题。
在ie浏览器上登录某论坛账号密码正确出现Apache Tomcat/5.5.17-Error report 怎么办
他们论坛服务器出问题了,你过会再看看就好了,。。。
apache tomcat/6.0-error report是什么意思
tomcat出错大部分是路径错了 检查一下
如何解决Apache Tomcat/6.0.14-error report
报告的错误提示你贴上来,要不然怎么分析?
myeclipse中怎么配置tomcat
myeclipse中怎么配置tomcat步骤如下:1、打开MyEclipse。2、点击菜单栏的“Window”,然后选择“Preferences”。3、点击弹出窗口的“Server”,然后选择“Runtime Environment”,然后点击右边的“Add”按钮。4、选择弹出窗口上的“Apache”,然后选择Tomcat版本,然后单击“Next”。5、选择Tomcat的安装根目录,点击“Finish”即可。
为什么我在myeclipse2015上配置tomcat6服务器时候,加进去在项目里找不到run as?
Eclipse中添加tomcat服务器的方式:1、打开eclipse开发平台界面,找到头部的工具栏中的“window”2、点击window中的Preferences选项,在打开的preferences面板中找到Server,点击Runtime Environments,再点击右边的“Add”按钮。3、在打开的添加服务器界面,选择本次要添加的tomcat服务器版本“Apache Tomcat v7.0”再点击“Next” 按钮4、在打开的tomcat Server界面选择好tomcat安装路径,jre就可以之间点击“Finish”按钮了。5、在上步的界面上点击了完成按钮,在回到的界面中再次点击Ok按钮,这样就完成了eclipse中对添加tomcat服务器的配置。6、当完成了添加tomcat的配置之后,在eclipse中找到File-->new-->Dynamic web project界面中就会出现tomcat服务器的下拉选择。7、到这里就表示你在eclipse中添加tomcat服务器已经成功了。
在tomcat上怎么运行jar包
直接将*.jar文件拷贝到tomcatwebapps目录下,启动tomcat,访问localhost:8080,进入tomcat manager中,需要输入密码,在C:jakarta-tomcat-4.1.30conf目录下找到tomcat-users.xml文件,加入<role rolename="manager"/><user username="admin" password="admin" roles="manager"/>进入后点击与你的jar包对应的名称即可!或者直接将*.jar文件拷贝到tomcatwebapps目录下,启动tomcat,访问localhost:8080/jar包名即可原文链接:http://bbs.csdn.net/topics/70098537
在所有程序找不到Apache Tomcat 6.0Monitor Tomcat怎么办
你可以找到安装文目录bin文件下找到shartup.bat文件双击就可以打开打开文件了,要关闭的话,那就双击shutdown.bat 文件
为什么应用服务器的qps 一般只有几百 例如tomcat
Apache服务器也就是www服务器,由于www采用HTTP协议所以又称为HTTP服务器,用于静态页面的解析;而Tomcat服务器是应用(Java)服务器,可以说是一个Servlet容器,可以认为是Apache的扩展,本身包含了一个HTTP服务器。但是可以独立于Apache运行,主要用于动态页面提供服务,可以将JSP编译成对应的Servlet,所以是web应用服务器。
一个webservices项目能在Tomcat上部署成功 也能访问接口 现在在weblogic上部署 就报错了 就在本地测试用
包问题转自网络 问题一: 调用接口,报java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lang/String 异常。问题一原因: 经过在网上google+baidu,找到了问题所在,原因是weblogic里面用到包%WL_HOME%serverlibweblogic.jar里面有javax.jws.WebService这个类,版本跟xfire里面用到的包xfire-jsr181-api-1.0-M1.jar里面的类javax.jws.WebService版本不一致,而运行时默认优先加载的是weblogic.jar里面的类,所以引起冲突。问题一解决方法: 把xfire的包xfire-jsr181-api-1.0-M1.jar复制到%WL_HOME%serverlib目录下,并且修改配置文件%WL_HOME%commonincommEnv.cmd(linux下修改commEnv.sh)。找到SET WEBLOGIC_CLASSPATH= 这行,把%WL_HOME%serverlibxfire-jsr181-api-1.0-M1.jar加在%WL_HOME%serverlibweblogic.jar前面,然后保存。重启weblogic问题一解决。问题二: 问题一解决后以为万事大吉了,谁知调用接口时,新的问题来了。报: java.lang.UnsupportedOperationException at weblogic.xml.stax.XMLStreamReaderBase.getTextCharacters(XMLStreamRead erBase.java:487) 问题二原因: 找了半天没找到真正原因,只知道大家都说接口返回是byte[]就会出现以上异常。 问题二解决方法: 这是个不完美的解决方法,需要更改接口,把byte[]用base64进行编码,编码后byte[]变成了String,然后客户端收到String后用base64解码成byte[]。异常不再出现,成功将文件通过webservice传输到客户端。希望有高人提出更好的解决方法供大家讨论。
Tomcat和Websphere是什么软件
Apache tomcat是一个强大的Web服务器 在处理静态页面、处理大量网络客户请求、支持服务的种类以及可配置方面都有优势,高速并且强壮。但是没有JSP/Servlet的解析能力。 整合Apache和Tomcat可以看作是用Tomcat做Apache的jsp/servlet解析插件,将两者优势结合起来 不过Tomcat作为一个Web服务器,本身具备了基本的Web服务功能,在SUN的力推下,将来或许越来越强壮到不需要借助Apache优势的地步。 (Jakarta Tomcat服务器是在SUN公司的JSWDK(javaServer Web DevelopmentKit,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet/JSP容器,它是Apache-Jakarta软件组织的一个子项目。它不但支持运行Servlet和JSP,而且还具备了作为商业java Web应用容器的特征。)IBM WebSphere 交付了应用基础设施和集成软件,用来帮助公司完成随需应变世界中的最关键任务:快速创新的能力 - 灵活的操作环境能够轻松支持公司的业务增长。 更高的生产力 - 工具能够帮助公司流线化和扩展业务流程,以便为人员提供适时、适当的信息,从而提高员工的生产率。 改善的业务弹性 - 可靠的、高性能的应用基础设施支持今天的随需应变世界的 24x7 运转。 IBM WebSphere 软件交付了以灵活的方式集成分散应用程序和系统的能力,从而加速创造价值的进程,并帮助公司最大限度提高现有资源的利用率。WebSphere软件平台的核心是WebSphere应用服务器,提供特定的配置来满足大范围的各种不同的重要应用的需要,包括事务管理、安全、集群、性能、可用性、连接性和可伸缩性。应用服务器是一个中间件,可以将Web应用功能和核心业务系统以及企业数据库连起来。WebSphere应用服务器提供了一个将这些应用和数据扩展到Web的平台。
websphere和tomcat在使用中的区别
(一)JSP的中文乱码问题其根源在于:Web容器(Tomcat)默认的字符处理编码是iso-8859-1,对于需要在浏览器页面上显示中文的JSP程序,但在程序中并没有指定中文的字符集,那么中文将在浏览器页面上显示为乱码。当然,前面所说的是指在Tomcat服务器下的,其他服务器有些不是这样的,比如BEAWeblogic和IBM Websphere是从操作系统中取得默认的编码,然后按该编码来转码所有用户请求.Struts中文问题有三种:发送请求时的中文问题、处理响应结果的中文问题和国际化资源文件的中文问题。1. 发送请求时的中文问题客户机向服务器发送请求时,根据所使用浏览器的不同可能会有不同的编码形式。不过通常情况下在请求到达Web容器前要将之转码,转成某种固定的编码以方便Web应用的处理。这种问题有三种处理方法:第一种(针对Tomcat 5 对POST请求有效,GET请求无效,因为Tomcat 5 对POST和GET请求时分别处理的)可以采用设置用户请求对象的编码形式,也就是以HttpServletRequest对象的编码的形式来进行用户请求的转码://将用户请求转码为GB2312、GB18030、GBK、UTF-8 等型,具体转为什么类型的编码以您的jsp文件的编码方式为准,java、jsp、js 、css应保持一致的编码方式。这里以GBK为例。request.setCharacterEncoding("GBK");第二种(对GET请求有效),可以在Servlet中对用户输入的数据进行转码。Web容器接受到一个请求时,它会将它发往某个处理的Servlet。在Servlet中直接获取用户请求的数据,然后将之转码为需要的格式,例如把数据转换为GBK格式:String username =request.getParameter("username");username = newString(username.getBytes("iso-8859-1”), "GBK");以上两种方法都是很常用的,但第一种是每个页面都要去修改,当JSP页面很多时比较麻烦,第二种就每个发送的数据都要转码,也很麻烦。第三种,就是采用Filter过滤器方式,将用户的所有请求都通过过滤器进行转码,这种方法就克服了以上两种方法的缺点。代码如下:public void doFilter(ServletRequestrequest, ServletResponse response,FilterChain chain ) throws IOException,ServletException {request.setCharacterEncoding("GBK");//response.setContentType("text/html;charset=GBK");chain.doFilter(request, response);}这里转码为GBK过滤器的主要代码,当然还要把这个类要在web.xml文件中部署。2. 处理响应结果的中文问题响应的结果包括Servlet、JSP和HTML三种情况,可以通过以下方式设置响应结果编码:对于Servlet,可以在Servlet中为其设置响应代码类型,代码如下:response.setContentType("text/html;charset=GBK"); 也可把这句加到上面的Filter中,如注释掉的部分。有人说用response.setCharacterEncoding("GBK"); 无效,必须用response.setContentType("text/html;charset=GBK"); 本人没试过。对于JSP,是比较方便的,只需要在JSP最前部分按如下方式声明:<%@ pagecontentType="text/html;charset=GBK"%>对于HTML,其和JSP文件基本类似,也是在页面最前部分按如下方式声明:<head><METAHTP-EQUIV="contentType" CONTENT="text/html;charset=GBK"></head>3. 国际化资源文件的中文问题一个Struts应用程序中,可以配置多个资源包,无论是Action、ActionForm还是JSP都可以访问这些包中的资源。资源包就是由扩展名为.properties的文件组成的一组具有相同前缀的文件,如ApplicationResources_zh_CN.properties、ApplicationResources_zh.properties和ApplicationResources.properties。这些文件就构成一个Struts的资源包,它们都有一个统一的前缀ApplicationResources,凡是有相同前缀的资源文件就都属于一个包。当用MyEclipse编写资源文件时,默认是不能保存中文的,因为默认保存编码的格式是ISO-8859-1,这就需要修改为gb2312或者gbk编码格式。Windons-->Preferences-->General -->Content Types-->Text-->JavaProperties File,在最下方把其Default encoding改为"UTF-8”,然后"update”就可以保存中文了。但就这样保存的中文还是不能够在页面上使用的,因为Web容器默认是使用ISO-8859-1,也就会把中文用ISO-8859-1的格式发送给客户页面,显示的还是乱码,这就是JAVA国际化的问题。JAVA是支持unicode编码格式的,unicode是国际统一通用编码,所以不管什么格式的编码转化为unicode编码肯定不会显示乱码的。这个时候就是需要把资源文件的UTG-8编码格式转化为unicode编码格式,而SUN公司又提供了这样的一种工具。在JDK的安装目录bin下,有一个叫native2ascii可执行文件,这个是专门来进行资源文件转码的。打开cmd,进入JDK的bin目录下,把资源文件拷贝到该目录下,执行该命令。比如:native2ascii –encoding GBKApplicationResources.properties ApplicationResources_zh_CN.properties 就是把GBK编码格式ApplicationResources.properties转化为unicode编码格式ApplicationResources_zh_CN.properties,这样显示页面时就不会出现乱码了。(二)Websphere 默认的字符处理编码要看 :管理控制台--->服务器--->应用程序服务器--->server1--->java和进程管理--->进程定义--->java虚拟机--->通用jvm参数 的设置了,如为,-Dfile.encoding=GB2312 -Dclient.encoding.override=GBK 则是GBK。我们可以通过如下判定:用ieHTTPHEADERS 等工具查看POST请求中的请求参数,汉字是经过Encoding的(是按哪种字符集编码要看jsp文件的编码方式了),由 % 间隔的十六进制数组成,如下 jsp文件的字符集是UTF-8,form表单提交,用ieHTTPHEADERS 工具查得请求参数为:struts.token.name=struts.token&struts.token=HPADE1CXRJ0PASL2V7RQFVXJLLFB1OUE&ptoId=244&orgName=%E7%BB%84%E7%BB%87%E5%90%8D%E7%A7%B0&orgId=&oscId=&oscType=H1&ptoType=01&impDate=2009-06-16&details=%E5%85%B7%E4%BD%93%E6%83%85%E5%86%B5orgName=%E7%BB%84%E7%BB%87%E5%90%8D%E7%A7%B0 经UTF-8 编码的,其中文对应的是"组织名称" ,E7BB84是"组"的十六进制表示,E7BB87 是"织"的十六进制表示等。form表提交后,在ACTION中查看 "组织名称" 变为乱码: "缁勭粐鍚岖О"通过以下代码分析:String JinZhi16 =Integer.valueOf("E7",16).toString(); // 把E7 转为十进制,这里JinZhi16 = 231 ,BB 对应的十进制:187System.out.println("JinZhi16 ="+JinZhi16);// 这里的231、187,132等都是通过Integer.valueOf("E7",16).toString()分别把对应的E7、BB、84 等转过来的十进制数字。byte[] bt = newbyte[]{(byte)231,(byte)187,(byte)132,(byte)231,(byte)187,(byte)135,(byte)229,(byte)144,(byte)141,(byte)231,(byte)167,(byte)176};System.out.println("GB18030 ="+new String(bt,"GB18030"));System.out.println("GBK ="+new String(bt,"GBK"));System.out.println("UTF-8 ="+new String(bt,"UTF-8"));String aa = newString(bt,"GB18030");System.out.println("GBK ="+new String(aa.getBytes("GBK"),"UTF-8"));String encoding=System.getProperty("file.encoding");System.out.println("Default SystemEncoding: " + encoding);输出内容:JinZhi16 = 231GB18030 = 缁勭粐鍚岖ОGBK = 缁勭粐鍚岖ОUTF-8 = 组织名称GBK = 组织名称Default System Encoding: UTF-8我们发现:form表单提交 orgName=%E7%BB%84%E7%BB%87%E5%90%8D%E7%A7%B0(即"组织名称") 到ACTION ,是 "缁勭粐鍚岖О"这样的乱码,而System.out.println("GB18030 = "+newString(bt,"GB18030")); 输出的也为"缁勭粐鍚岖О" ,所以可假设其编码字符集也为GB18030或GBK,用通过System.out.println("GBK ="+new String(aa.getBytes("GBK"),"UTF-8")); 得知确为GBK或GB18030。GB18030是 GBK的超集,他支持3--4字节的编码,不过这两个标准都支持GB2312-80 。查看WebSphere的 "通用jvm参数"的设置了是 -Dfile.encoding=GB2312-Dclient.encoding.override=GBK所以最后把-Dfile.encoding=GB2312-Dclient.encoding.override=GBK 改为-Dfile.encoding=UTF-8-Dclient.encoding.override=UTF-8 就可以解决乱码了(对get 和 post 有效)。修改完上述参数要从起WebSphere的服务,远程登录到安装WebSphere的机器上,你的was发布的ip 就是WebSphere所在的机器, 其用户名和密码同登录到发布was 的WebSphere的控制台一样,因为本来就是同一台机器。登录到WebSphere控制台 ,服务器 ——>应用程序服务器找到对应的节点名称如 "cncaitKaifaNode03" ,在控制面板 - > 服务 -> 查看以IBM开头的有"cncaitKaifaNode03" 标识的WebSphere服务,重启。用如下过滤器不管用。public class ChartFilter implements Filter{private String encoding = "UTF-8";public void init(FilterConfig config) throws javax.servlet.ServletException {String temp = config.getInitParameter("encoding");encoding = (temp == null) ? encoding : temp;}public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws java.io.IOException, javax.servlet.ServletException {System.out.println("-----------过滤器-----------encoding = "+encoding);request.setCharacterEncoding(encoding);response.setCharacterEncoding(encoding);response.setContentType("text/html;charset="+encoding);chain.doFilter(request, response);}public void destroy() {}}(三)共同问题:Tomcat 5 和webSphere6.1 对get请求,如果有奇数个汉字的参数,则紧接着&的下一参数会追加在这个汉字参数后。如:String url ="/cnca/servlet/update.action?orgName=中国船级社质量认证公司&oscYM=2009-06",则取得orgName的值为中国船级社质量认证公oscYM=2009-06,而oscYM 没有取到值。解决的简单方法就是在orgName=中国船级社质量认证公司之后 &oscYM=2009-06之前加一个全角空格。---------------------------------------------------------------程序从tomcat迁移至websphere的修改1.普通应用部署在websphere上中文乱码问题解决:管理控制台--->服务器--->应用程序服务器--->server1--->java和进程管理--->进程定义--->java虚拟机--->将通用jvm参数设置为:根据你的jsp java文件的编码是什么而定,如果是UTF-8 则设置为 -Ddefault.client.encoding=UTF-8-Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh-Duser.region=CN2.修改hibernate.cfg.xml(针对我的项目cnca(自律))<propertyname="connection.datasource">jdbc/cncaprod</property>以下下是网上搜集的:在部署文件中设定了jdbc引用名jdbc/sample,jndi名字为jdbc/sample如果采用如下代码:javax.sql.DataSource ds =(javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/sample");conn = ds.getConnection();运行就报错:05-7-110:02:24:178 CST] 00000031 SystemErr R Naming-Exception: Exception occurredwhile the JNDI NamingManager was processing a javax.naming.Reference object.去掉"java:comp/env/”就好了。解决:确认部署后在概要表空间下的configcellsCN7642012HNode01Cellapplications目录下相应应用的web.xml文件下有正确的配置JNDI,如:<b><resource-refid="ResourceRef_1097466019938"></b><res-ref-name>jdbc/yjjndi</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth><res-sharing-scope>Shareable</res-sharing-scope></resource-ref>再查看同目录下的ibm-web-bnd.xmi文件中id是否和上面的id相同,如下(注意粗体部分):<b><resRefBindingsxmi:id="ResourceRefBinding_1097466019938"jndiName="jdbc/yjjndi" loginConfigurationName="DefaultPrincipalMapping"><bindingResourceRefhref="WEB-INF/web.xml#ResourceRef_1097466019938"/></b><propertiesxmi:id="Property_1165956970219"name="com.ibm.mapping.authDataAlias"value="CN7642012HNode01/yjj2c" description="description"/></resRefBindings>3. 对get请求,去掉类似new String(username.getBytes("iso-8859-1”), "GBK"); 的代码段。
webSphere和TomCat的区别
一套Weblogic或者Websphere动辄十几万,出于节省投资的角度考虑,我们能不能推荐客户使用Tomcat或者Jboss等其它免费的应用服务器呢,本文就此问题做一讨论。一、不选择Tomcat的理由1.Tomcat没有EJB container,如果有分布式的要求会比较难办;2.从保险性来说,万一应用服务器本身有什么漏洞,你没办法向Apache索赔;3.开源软件项目,没有任何商业服务,遇到问题没有技术支持。二、选择Tomcat的理由1、免费使用,这是最大的诱惑2、实现J2EE规范最好的应用服务器Tomcat是jakarta项目中的一个重要的子项目,其被JAVAWorld杂志的编辑选为2001年度最具创新的JAVA产品(Most Innovative JAVA Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见http://JAVA.sun.com/products/jsp/tomcat/)。由于遵从J2EE规范,所以从Tomcat向其他平台转移时,工作量是非常小的。例如将Tomcat 下的东西移到Weblogic, 基本上只是copy。3、我的项目不需要EJB对于国内的很多中小型JAVA项目,根本用不到EJB技术。大多数应用是把传统的MIS转换到B/S模式上来,由两层结构到三层结构,Datasource+Jsp+Serverlet完全可以满足开发需要。界面用Jsp实现,业务逻辑用JAVABean完成,既然用不到EJB,Tomcat也就可以满足需求了。4、Tomcat的性能对于性能的怀疑可能是很多人不选择免费应用服务器的理由。事实胜于雄辩,看看下面的一些案例吧:sms.qianlong.com linux+tomcat+Apache------------------------------------------作 者: liuxiaowei (巍巍) 我们的情况(单机,没有负载均衡):操作系统: RedHat Advanced Server 2.1服务器配置: dell 6650: 8 至强CPU, 3G RAM, 300G HD访问量: 80万+TOMCAT 4.1.24JDK 1.4.1_02JDK 启动参数 -Xmx1024m无响应时top显示JAVA占用内存为800M左右(实际占用要大一些),访问量>80万(实际情况,不是模拟访问),操作系统正常第一: 并发访问量大概在1000左右。(这是实际跑出来的数据,不是模拟测试!)第二: 这台机器只有Tomcat------------------------------------------回复人: zeeler(鸭子)如果不想买商业应用程序服务器,建议你可以试试使用Tomcat做负载均衡,即多个tomcat来共同分担并发访问量------------------------------------------回复人: liangxuan1979(不贪)我们这边的情况和楼主有很多类似的地方.Server也是6650,软件配置也是一模一样.只是我们的访问量小些,同时在线的人数大概也在200-600人左右.------------------------------------------回复人: caliban1979(甲虫)谁说tomcat不行啊!我们做的www.west100.com每天访问量超过500万(用webalizer统计出来的!)我的配置是Linux操作系统,数据库mysql前置squid缓存,后面起tomcat服务,可以跑3、4个月不当机事实证明一切我不想说什么了!------------------------------------------三、总结看似不选择Tomcat的理由很是充分,关键因素在于商业软件有技术服务保障,可是:1.不管你用Weblogic或者Tomcat,出现问题客户只会来找你们公司而不去找BEA/IBM他们.2.不管是你程序的问题还是Weblogic或者Tomcat系统平台的问题,处理问题的一般还是你们程序员,修改程序的BUG或者修改程序适应Weblogic或者Tomcat的BUG.3.BEA/IBM的上门技术服务费用往往要高于你购买系统平台的费用甚至你整个软件系统的利润.没有几K的RMB BEA/IBM的技术人员是不会出门的.如果看了以上文字你还不能确认你的项目该选择那种产品的话,这句话对你可能会有帮助:用最适当的方法解决问题就是最好的。本文发表于ossoft.org 转载请注明出处。以下是 Tomcat/Weblogic/Websphere 我们选择哪一个 相关回复jboss+tomcat就可以了,很好用的:)如果系统没有长远的考虑,那应该不用考虑得这么复杂。几个例子中如果硬件成本比软件成本高许多,那不如使用weblogic/Websphere。其中的道理太简单了,为什么电信/银行/移动之类的公司使用Oracle/DB2数据库,而不选用mysql。单靠tomcat是无法支持那么多的并发量。有钱的话还是选择商业产品有时候也要看需求而定,TOMCAT是不错,但是WebSphere和WebLogic存在也有它的原因的,我们公司就用的是WebSphere和DB2。就看你的需要了,要是小应用,没有设计ejb的话我建议用tomcat,大的应用要看服务器了,有些服务器用websphere比较好,比如IBM的服务器各有千秋,每一样产品既然他存在,就说明他有生命力,有发展的前途------哲学理论哈哈!顶!具体用哪个还必须考虑到你所处的环境中!
websphere和tomcat在使用中的区别
1.websphere修改配置文件不用像tomcat那样重起服务器。2.websphere会把项目打包成EAR文件,部署这个EAR文件,TOMCAT貌似是WAR文件。首先,他们的共同之处是都是支持JSP的服务器软件。不同之处:Tomcat: 是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码是可以免费获得的,不足之处是它的配置十分麻烦,弄不好连Apche都会摊掉,而且有一些安全性的问题没有解决,初学者可以用它来调试JSP文件,但是用作商业应用的服务器就不太妥当了。BEA WebLogic Sever: 是一款十分强大的服务器软件,配置比较简单,而且对JSP的扩展十分强大,附带了数据库的JDBC驱动程序,支持JHTML,是目前市场占有率最高的服务器,目前最新版本是6.1版,价格很贵,不过嘿嘿.....有破解版哦:)IBM WebSphere Application Server: 是IBM的产品,功能很强大,而且有IBM的开发工具相配套,开 发Web程序十分方便,不过价格上万元。WebSphere是 IBM 的集成软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的集成软件。WebSphere Application Server 是该基础设施的基础,其他所有产品都在它之上运行。WebSphere Process Server 基于 WebSphere Application Server 和 WebSphere Enterprise Service Bus,它为面向服务的体系结构 (SOA) 的模块化应用程序提供了基础,并支持应用业务规则,以驱动支持业务流程的应用程序。高性能环境还使用 WebSphere Extended Deployment 作为其基本基础设施的一部分。其他 WebSphere 产品提供了广泛的其他服务,如下所述。WebSphere 是一个模块化的平台,基于业界支持的开放标准。您可以使用受信任和持久的接口,将现有资产插入 WebSphere,并且可以随着需要的增长继续扩展您的环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。webShpere 是随需应变的电子商务时代的最主要的软件平台。它使您的公司可以开发、部署和整合新一代的电子商务应用,如B2B电子商务,并支持从简单的网页内容发布到企业级事务处理的商业应用。WebLogic是美国bea公司出品的一个application server确切的说是一个基于j2ee架构的中间件,webserver是用来构建网站的必要软件用来解析发布网页等功能,它是用纯java开发的。weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展。目前weblogic在世界application server市场上占有最大的份额,其他还有象IBM的websphere,免费的tomcat、resin等中间件。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能 、可扩展性和高可用性。与BEA WebLogic Commerce ServerTM配合使用, BEA WebLogic Server可为部署适应性个性化电子商务应用系统提供完善的解决方案。BEA WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势,包括:1)领先的标准对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。2)无限的可扩展性BEA WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。3)快速开发凭借对EJB和JSP的支持,以及BEA WebLogic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统。4)部署更趋灵活BEA WebLogic Server的特点是与领先数据库、操作系统和Web服务器 紧密集成。5)关键任务可靠性其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。6)体系结构BEA WebLogic Server是专门为企业电子商务应用系统开发的。企业电子商务应用系统需要快速开发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需的扩展、性能、和高可用性。BEA WebLogic Server简化了可移植及可扩展的应用系统的开发,并为其它应用 系统和系统提供了丰富的互操作性。凭借其出色的群集技术,BEA WebLogic Server拥有最高水平的可扩展 性和可用性。BEA WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车;组件群集则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的
websphere和tomcat在使用中的区别
Tomcat和Websphere主要区别是:Tomcat是的,功能比较单一的web应用服务器;Websphere是IBM的收费,除了web应用服务器还包含大量的工具和其他相关应用开发。Websphere价格昂贵,单买一个但CPU的服务器也要十几万。Tomcat 服务器是一个的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。WebSphere 是 IBM 的。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 是随需应变的电子商务时代的最主要的,可用于开发、部署和整合新一代的电子商务应用,如B2B,并支持从简单的网页内容发布到级事务处理的商业应用。WebSphere 可以创建电子商务站点, 把应用扩展到联合的移动设备, 整合已有的应用并提供自动业务流程。Tomcat和Websphere的相似点是都是基于J2EE 和 Eclipse 等行业开放标准,并且它们使用公共的安装、管理、安全和编程模型。从开发看来就是类似的java开发,不过应用场景有差别。
Tomcat和Websphere的区别
Tomcat和Websphere主要区别是:Tomcat是的,功能比较单一的web应用服务器;Websphere是IBM的收费,除了web应用服务器还包含大量的工具和其他相关应用开发。Websphere价格昂贵,单买一个但CPU的服务器也要十几万。Tomcat 服务器是一个的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。WebSphere 是 IBM 的。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 是随需应变的电子商务时代的最主要的,可用于开发、部署和整合新一代的电子商务应用,如B2B,并支持从简单的网页内容发布到级事务处理的商业应用。WebSphere 可以创建电子商务站点, 把应用扩展到联合的移动设备, 整合已有的应用并提供自动业务流程。Tomcat和Websphere的相似点是都是基于J2EE 和 Eclipse 等行业开放标准,并且它们使用公共的安装、管理、安全和编程模型。从开发看来就是类似的java开发,不过应用场景有差别。
Tomcat和Websphere的区别
Tomcat和Websphere主要区别是:Tomcat是的,功能比较单一的web应用服务器;Websphere是IBM的收费,除了web应用服务器还包含大量的工具和其他相关应用开发。Websphere价格昂贵,单买一个但CPU的服务器也要十几万。Tomcat 服务器是一个的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。WebSphere 是 IBM 的。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 是随需应变的电子商务时代的最主要的,可用于开发、部署和整合新一代的电子商务应用,如B2B,并支持从简单的网页内容发布到级事务处理的商业应用。WebSphere 可以创建电子商务站点, 把应用扩展到联合的移动设备, 整合已有的应用并提供自动业务流程。Tomcat和Websphere的相似点是都是基于J2EE 和 Eclipse 等行业开放标准,并且它们使用公共的安装、管理、安全和编程模型。从开发看来就是类似的java开发,不过应用场景有差别。
部署到TOMCAT下没问题,部署到WEBSPHERE下报错
检查systemconfig.xml文件内的SdkDataSourceJndi,看这个的配置跟WAS的R1的JNDI名称是否一致。如果不一致就会报ResouceOne客户端数据库连接初始化失败。
Tomcat和Websphere的区别
一、JSP的中文乱码问题其根源在于:Web容器(Tomcat)默认的字符处理编码是iso-8859-1,对于需要在浏览器页面上显示中文的JSP程序,但在程序中并没有指定中文的字符集,那么中文将在浏览器页面上显示为乱码。当然,前面所说的是指在Tomcat服务器下的,其他服务器有些不是这样的,比如BEA Weblogic和IBM Websphere是从操作系统中取得默认的编码,然后按该编码来转码所有用户请求.Struts中文问题有三种:发送请求时的中文问题、处理响应结果的中文问题和国际化资源文件的中文问题。1. 发送请求时的中文问题客户机向服务器发送请求时,根据所使用浏览器的不同可能会有不同的编码形式。不过通常情况下在请求到达Web容器前要将之转码,转成某种固定的编码以方便Web应用的处理。这种问题有三种处理方法:第一种(针对Tomcat 5 对POST请求有效,GET请求无效,因为Tomcat 5 对POST和GET请求时分别处理的)可以采用设置用户请求对象的编码形式,也就是以HttpServletRequest对象的编码的形式来进行用户请求的转码://将用户请求转码为GB2312、GB18030、GBK、UTF-8 等型,具体转为什么类型的编码以您的jsp文件的编码方式为准,java、jsp 、js 、css应保持一致的编码方式。这里以GBK为例。request.setCharacterEncoding("GBK");第二种(对GET请求有效),可以在Servlet中对用户输入的数据进行转码。Web容器接受到一个请求时,它会将它发往某个处理的Servlet。在Servlet中直接获取用户请求的数据,然后将之转码为需要的格式,例如把数据转换为GBK格式:String username = request.getParameter("username");username = new String(username.getBytes("iso-8859-1”), "GBK");以上两种方法都是很常用的,但第一种是每个页面都要去修改,当JSP页面很多时比较麻烦,第二种就每个发送的数据都要转码,也很麻烦。第三种,就是采用Filter过滤器方式,将用户的所有请求都通过过滤器进行转码,这种方法就克服了以上两种方法的缺点。代码如下:public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain ) throws IOException, ServletException {request.setCharacterEncoding("GBK");//response.setContentType("text/html;charset=GBK");chain.doFilter(request, response);}这里转码为GBK过滤器的主要代码,当然还要把这个类要在web.xml文件中部署。2. 处理响应结果的中文问题响应的结果包括Servlet、JSP和HTML三种情况,可以通过以下方式设置响应结果编码:对于Servlet,可以在Servlet中为其设置响应代码类型,代码如下:response.setContentType("text/html;charset=GBK"); 也可把这句加到上面的Filter中,如注释掉的部分。有人说用 response.setCharacterEncoding("GBK"); 无效,必须用 response.setContentType("text/html;charset=GBK"); 本人没试过。对于JSP,是比较方便的,只需要在JSP最前部分按如下方式声明:<%@ page contentType="text/html;charset=GBK"%>对于HTML,其和JSP文件基本类似,也是在页面最前部分按如下方式声明:<head><META HTP-EQUIV="contentType" CONTENT="text/html;charset=GBK"></head>3.? 国际化资源文件的中文问题一个Struts应用程序中,可以配置多个资源包,无论是Action、ActionForm还是JSP都可以访问这些包中的资源。资源包就是由扩展名为.properties的文件组成的一组具有相同前缀的文件,如ApplicationResources_zh_CN.properties、ApplicationResources_zh.properties和ApplicationResources.properties。这些文件就构成一个Struts的资源包,它们都有一个统一的前缀ApplicationResources,凡是有相同前缀的资源文件就都属于一个包。当用MyEclipse编写资源文件时,默认是不能保存中文的,因为默认保存编码的格式是ISO-8859-1,这就需要修改为gb2312或者gbk编码格式。Windons -->Preferences-->General -->Content Types-->Text-->Java Properties File,在最下方把其Default encoding改为"UTF-8”,然后"update”就可以保存中文了。但就这样保存的中文还是不能够在页面上使用的,因为Web容器默认是使用ISO-8859-1,也就会把中文用ISO-8859-1的格式发送给客户页面,显示的还是乱码,这就是JAVA国际化的问题。JAVA是支持unicode编码格式的,unicode是国际统一通用编码,所以不管什么格式的编码转化为unicode编码肯定不会显示乱码的。这个时候就是需要把资源文件的UTG-8编码格式转化为unicode编码格式,而SUN公司又提供了这样的一种工具。在JDK的安装目录bin下,有一个叫native2ascii可执行文件,这个是专门来进行资源文件转码的。打开cmd,进入JDK的bin目录下,把资源文件拷贝到该目录下,执行该命令。比如:native2ascii –encoding GBK ApplicationResources.properties ApplicationResources_zh_CN.properties 就是把GBK编码格式ApplicationResources.properties转化为unicode编码格式ApplicationResources_zh_CN.properties,这样显示页面时就不会出现乱码了。
tomcat里面的jdbc下面这段代码都是什么意思?要详细的解释!
他们解释都是对的也很详细了。如果你还是不明白,只能说你用的少了
Tomcat 中 HTTP 400 Bad Request 的常见原因以及示例
在web开发中, HTTP 400 Bad Request 是一种常见但却难以定位的问题, 通常是因为请求没有遵循 HTTP 标准. 原因看起来很直观, 但是在定位此类问题时, 往往需要花费极大的精力. 有以下几个难点: 在本片文章中, 会分享实际生产环境下的真实事例. 并且对Tomcat中所有400的情况给出了实际例子, 方便以后更直观的判断请求是否有问题. 本文基于 tomcat-embed-core-9.0.29 详见下一篇博文 由于对LB进行升级, 将流量从旧的LB切换到新的LB之后, 某些客户端的所有响应都变成了 400 BAD REQUEST. 客户端发送的请求头示例 "APPLICATION-VERSION : 519", 冒号前的空格即为非法字符. Tomcat调用逻辑如下. 在parseHeader()方法中, 会使用isToken()方法检查请求头中是否有非法字符. org.apache.coyote.http11.Http11Processor#service: parseHeaders and catch IllegalArgumentException org.apache.coyote.http11.Http11InputBuffer#parseHeader: 检验请求头并在skipLine()中抛出llegalArgumentException. IS_TOKEN 是一个用来存储非法字符的位图, 非法字符包含 " " "," "(" ")" "" 等. org.apache.coyote.http11.Http11InputBuffer#skipLine: 抛出异常 这里总结了所有tomcat-embed-core-9.0.29中会返回HTTP 400 Bad Request的情况, 并给出了样例. 以下例子均为HTTP报文格式, case 0 是一个可以正确返回200的请求, 后续的例子是在case 0 的基础上进行改变, 改变的部分会以橙色标出, 导致400的关键字会以红色标出, 便于直观的发现问题. 200 Sample 200 Sample org.apache.coyote.AbstractProcessor#line 302 400 Sample org.apache.coyote.AbstractProcessor#line 337 Illegal characters logic: org.apache.tomcat.util.http.parser.HttpParser.DomainParseState#next 400 Sample org.apache.coyote.AbstractProcessor#line 982 No example org.apache.coyote.http11.Http11Processor#line 311 Character set: org.apache.tomcat.util.http.parser.HttpParser#IS_TOKEN 400 Sample for illegal character 400 Sample for blank org.apache.coyote.http11.Http11Processor#line 609 400 Sample org.apache.coyote.http11.Http11Processor#line 612 400 Sample org.apache.coyote.http11.Http11Processor#line 660 Character set: org.apache.tomcat.util.http.parser.HttpParser#IS_USERINFO 400 Sample org.apache.coyote.http11.Http11Processor#line 686 400 Sample 9. Start line中协议名称非法 org.apache.coyote.http11.Http11Processor#line 705 400 Sample org.apache.coyote.http11.Http11Processor#line 713 Character set: org.apache.tomcat.util.http.parser.HttpParser#IS_ABSOLUTEPATH_RELAXED 400 Sample org.apache.coyote.http11.Http11Processor#line 739 400 Sample 12. 请求头中含有多个Content-Length org.apache.coyote.http11.Http11Processor#line 741 400 Sample
在本地tomcat上部署web项目后输入localhost:8080怎么还是跳转到tomcat首页去了????
web项目中的web.xml需要配置一下首页
nginx+tomcat出现504Gateway Time-out错误,求助
你可适当调大 nginx 和 tomcat 之间的 timeout 参数值 504 错误是 tomcat 的程序处理不过来了,跟 nginx 没关系,检查你的程序吧,肯定会低效率的地方
SSM框架,myeclipse和tomcat运行环境,服务器启动报错
查看一下Spring MVC的配置文件看看包扫描路径有没有配置错误
JBoss和Tomcat部署方式的区别
在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求。近年来,作为开源中间件的全球领导者,JBoss在J2EE应用服务器领域已成为发展最为迅速的应用服务器。在市场占有率和服务满意度上取得了巨大的成功,丝毫不逊色于其它的非开源竞争对手,如WebSphere、WebLogic、Application Server。JBoss Web的诸多优越性能,正是其广为流行的原因。 基于Tomcat内核,青胜于蓝 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。其运行时占用的系统资源小,扩展性好,且支持负载平衡与邮件服务等开发应用系统常用的功能。作为一个小型的轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,成为目前比较流行的Web 应用服务器。 而JBoss Web采用业界最优的开源Java Web引擎, 将Java社区中下载量最大,用户数最多,标准支持最完备的Tomcat内核作为其Servlet容器引擎,并加以审核和调优。单纯的Tomcat性能有限,在很多地方表现有欠缺,如活动连接支持、静态内容、大文件和HTTPS等。除了性能问题,Tomcat的另一大缺点是它是一个受限的集成平台,仅能运行Java应用程序。企业在使用时Tomcat,往往还需同时部署Apache Web Server以与之整合。此配置较为繁琐,且不能保证性能的优越性。 JBoss在Tomcat的基础上,对其进行本地化,将Tomcat 以内嵌的方式集成到 JBoss 中。JBoss Web通过使用APR和Tomcat本地技术的混合模型来解决Tomcat的诸多不足。混合技术模型从最新的操作系统技术里提供了最好的线程和事件处理。结果,JBoss Web达到了可扩展性,性能参数匹配甚至超越了本地Apache HTTP服务器或者IIS。譬如JBoss Web能够提供数据库连接池服务,不仅支持 JSP 等 Java 技术,同时还支持其他 Web 技术的集成,譬如 PHP、.NET 两大阵营。 标准化是减小技术依赖风险,保护投资最好的方式。JBoss Web率先支持全系列JEE Web标准,从根本上保证了应用“一次开发,到处运行”的特点,使应用成品能方便地在JBoss Web和其他Java Web服务器之间轻易迁移。 集多功能于一身,性能卓越 作为Web 应用服务器中的明星产品,JBoss Web服务器集多种功能于一身。其关键功能包括:完全支持Java EE、高度的扩展性、快速的静态内容处理、群集、OpenSSL、URL重写和综合性。 JBoss Web服务器具有原生特性和强大的可扩展性,可支持多种并非基于Java的服务器内容处理技术,可同时运行JSP, Servlet, Microsoft .NET , PHP 及 CGI,为其提供一个单一的、高性能的企业级部署平台。 与Tomcat 相比,JBoss Web在静态资源访问方面性能优越。JBoss Web支持两种组件模式——纯Java和Native I/O。在Native组件的支持下,动态运行不会受到任何影响,而静态资源的访问利用了操作系统本身提供的0拷贝传送,CPU消耗降低,响应时间缩短,吞吐率大大提高,混合的连接模式支持最大达到10000个并发客户端的同时访问,与Apache Web服务器相当。部署于高性能的操作系统,可利用JBoss Web对纯Java和Native I/O两种模式的支持,使得应用在开发时可随时跨平台敏捷迁移,而部署于高性能的操作系统相关的Native环境。由于JBoss Web较好地解决了静态资源的访问性能问题,可在解决方案中把它直接作为强大的LVS的分发对象,和RHEL负载均衡系统结合,形成理论上无限线性扩展的负载均衡场景。 OpenSSL是业界最为快速和安全的开源传输组件,可借助操作系统和硬件的特性实现高效的安全承载。JBoss Web集成了OpenSSL,可提供高效的安全传输服务,使得安全机制更上台阶。研究表明, JBoss Web中的SSL性能比单纯的Tomcat快四倍。 URL重写功能可缩短URL,隐藏实际路径提高安全性,易于用户记忆和键入,及被搜索引擎收录。Tomcat 不具备URL重写功能,JBoss Web则可提供一个灵活的URL rewriting操作引擎,支持无限个规则数和规则条件。URL可被重写以支持遗留的URL错误处理,或应对服务器不时产生的其他问题。 JBoss Web既可单独运行,也可无缝嵌入JBoss应用服务器,成为JBoss中间件平台的一部分。不仅后台服务调用的性能将得以提升,也可利用以下JBoss平台的特性提升Web应用功能: 基于JGroups的多种集群方案的支持 基于Arjuna技术的JTA和JTS的事务处理支持 优化的线程池和连接池的支持 基于JMX 控制台的基本管理支持和JBoss On的高级管理维护支持 基于JBoss AOP技术的面向方面架构的支持 Hibernate服务组件的支持 专业团队支持 业界大多数开源产品在技术方面富于创新性,但在可持续性,产品生命周期规划,以及质量保证方面缺乏有效保障,为软件集成商和最终用户所诟病。红帽所力行的“专业化开源技术”则完美解决了这一问题。 来自开源社区的JBoss Web,在红帽专业化开源的锤炼下,在性能、扩展性、稳定性、安全性等方面,已成为一个达到企业级,甚至电信级标准的优秀产品。红帽不仅有专职的技术团队投入JBoss Web的开发,而且具备专门的QA团队为产品作质量保证。完善的集成测试和兼容性测试保证了JBoss Web自身的稳定性,并保证了它的后向兼容和其他JBoss产品协作良好的互操作性。 在服务体系保障方面,JBoss 开拓了以产品专家提供的专家级支持服务作为开源软件强大后盾的软件生态模式。公司以及庞大的 JBoss 授权服务合作伙伴网络可为包括JBoss Web在内的整个JEMS 产品套件提供全面的支持服务。与Tomcat相比,JBoss Web 可提供迁移服务与现场专家服务,在迁移服务方面,专家指导应用可从Tomcat向JBoss Web迁移,省时省力。独特的服务订阅模式,全力保障软件生命周期,让企业高枕无忧。
一台tomcat,established 10多个 timewait 100多 有问题吗
第一个监听 表示这个端口正在开放 可以提供服务第二个 关闭的 表示端口人为或者放火墙使其关闭(也许服务被卸载)第三个 正在等待连接 就是你正在向该端口发送请求连接状态 也许因为网速 也许认证问题 反正你没练上 正在提交连接请求(长时间这样状态会变成第四个)第四个 连接established是对方与你已经产生了连接 正在通信交换数据listening是你已经开放这种端口提供服务SYN Sent和established是对应的 established是你接受别人发来的数据而那个是你发出让别人接受
使用超级用户root把/home/nari目录压缩为nari.tar.gz,并把它移动到/opt/tomcat/soft目录下,求解
# tar u2013zcvf /home/nari nari.tar.gz#mv nari.tar.gz /opt/tomcat/soft
tomcat超时,tomcat报timeout怎么办
修改文件找到Eclipse的工作空间.metadata.pluginsorg.eclipsre目录,修改目录内文件server.xml把属性start-timeout="45" 设高一点就行了,如果start-timeout="450" 完整的xml< xml version="1.0" encoding="UTF-8" standalone="no" > <servers> <server auto-publish-setting="2" auto-publish-time="1" configuration-id="/Servers/Tomcat v7.0 Server at localhost-config" deployDir="wtpwebapps" hostname="localhost" id="Tomcat v7.0 Server at localhost" name="Tomcat v7.0 Server at localhost" runtime-id="Apache Tomcat v7.0" server-type="org.eclipse.jst.server.tomcat.70" server-type-id="org.eclipse.jst.server.tomcat.70" start-timeout="450" stop-timeout="15" testEnvironment="true" timestamp="7"> <list "modules" value0="VisionSSO::org.eclipse.jst.jee.server:VisionSSO::jst.web::3.0"/> </server> </servers>
电脑启动Tomcat失败提示timeout超时怎么解决
近来有用户发现在电脑中无法正常启动项目,出现Tomcat启动失败,提示timeout超时。这是由于Tomcat设置的启动时间是在45秒内,如果超过则无法启动。对此,我们可以参考以下方法步骤来修改相关设置。推荐:windows操作系统下载1、双击tomcat,打开tomcat配置页面;2、点击右侧的“timeout”设置;3、可以看到start右侧设置的值是“45”,即表示Tomcat设置的启动时间是在45秒内;4、那么,我们就可以把这个值改大一点,这样就可以正常启动了。如果电脑启动Tomcat失败提示timeout超时,不妨尝试进行以上设置来解决问题。
如何搭建apache+tomcat集群
搭建apache+tomcat集群的方法:1、安装tomcat+apache+mysql。 2、修改tomcat的端口,即修改server.xml中的配置,并修改 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat_8084"> 3、修改httpd.conf,解注释Include conf.d/*.conf 4、在conf.d文件夹中加入xxx.conf文件,在该文件中添加如下配置: #LoadModule proxy_http_module modules/mod_proxy_http.so ProxyRequests Off ProxyPass / balancer://chinatrial-cluster/ stickysession=JSESSIONID nofailover=Off ProxyPassReverse / http://127.0.0.1:8084/ ProxyPassReverse / http://127.0.0.1:8184/ #ProxyPassReverse / http://127.0.0.1:8380/ <Proxy balancer://chinatrial-cluster> BalancerMember http://127.0.0.1:8084/ max=800 loadfactor=10 route=tomcat_8084 BalancerMember http://127.0.0.1:8184/ max=800 loadfactor=10 route=tomcat_8184 # BalancerMember http://127.0.0.1:8380/ max=800 loadfactor=10 route=chinatrial_8080 </Proxy> 其中route后面的值是和tomcat的server.xml中的<Engine>中的jvmRoute相对应 5、实现session共享 在数据库中建session共享表: CREATE DATABASE `session` USE `session`; DROP TABLE IF EXISTS `session`.`tomcat_sessions`; CREATE TABLE `session`.`tomcat_sessions` ( `session_id` varchar(100) NOT NULL, `valid_session` char(1) NOT NULL, `max_inactive` int(11) NOT NULL, `last_access` bigint(20) NOT NULL, `app_context` varchar(255) default NULL, `session_data` mediumblob, PRIMARY KEY (`session_id`), KEY `kapp_context` (`app_context`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 6、在项目的context.xml中进行Manager的配置: <Manager className="org.apache.catalina.session.PersistentManager" debug="99" saveOnRestart="true" maxActiveSessions="-1" minIdleSwap="30" maxIdleSwap="600" maxIdleBackup="0"> <Store className="org.apache.catalina.session.JDBCStore" driverName="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://172.16.100.229/session?user=root&password=nazca123&useUnicode=true&characterEncodeing=utf-8" sessionTable="tomcat_sessions" sessionIdCol="session_id" sessionDataCol="session_data" sessionValidCol="valid_session" sessionMaxInactiveCol="max_inactive" sessionLastAccessedCol="last_access" sessionAppCol="app_context" checkInterval="60" debug="0" /> </Manager>
linux下apache+tomcat集群详细配置
环境:操作系统均为:CentOS 5.1 Apache2.X服务器一台:IP地址192.168.232.4;安装路径/usr/local/apache; Tomcat6服务器一台:IP地址192.168.232.5;安装路径/usr/local/tomcat; Tomcat6服务器一台:IP地址192.168.232.6;安装路径/usr/local/tomcat; 配置:Apache安装:#./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite注释:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必须依赖proxy,如果是自定义的编译除了以上几个必须的模块外,mod_status也要编译进去,切记。enable-proxy-ftp可以不编译。#make;make install 制作Apache启动项:#cp support/apachectl /etc/rc.d/init.d/httpd#vi /etc/rc.d/init.d/httpd添加以下内容:(包括#号)# Startup script for the Apache Web Server# chkconfig: 2345 85 15# description: Apache is a World Wide Web server .It is used to server# HTML files and CGI.# processname: httpd# pidfile: /usr/local/apache/log/httpd.pid# config: /usr/local/apache/conf/httpd.conf增加服务项#chkconfig --add httpd#chmod 755 /etc/rc.d/init.d/httpd#chkconfig --level 345 httpd on JDK安装:#chmod a+x jdk-6u4-linux-i586-rpm.bin#./jdk-6u4-linux-i586-rpm.bin JAVA环境变量设置:#vi /etc/profile在文件最后添加以下内容:JAVA_HOME=/usr/java/jdk1.6.0_04CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarPATH=$JAVA_HOME/bin:$PATHCATALINA_HOME=/usr/local/tomcatexport JAVA_HOME CLASSPATH PATH CATALINA_HOME 执行如下命令使环境变量生效:source /etc/profile测试配置是否成功:java –version Tomcat安装:#wget [url]http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz[/url]#tar zxvf apache-tomcat-6.0.16.tar.gz#mv apache-tomcat-6.0.16 /usr/local/tomcat Tomcat随机启动:#vi /etc/rc.local添加以下内容:/usr/local/tomcat/bin/startup.sh tomcat6配置文件server.xml:把<!-- You should set jvmRoute to support load-balancing via AJP ie :<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">--><Engine name="Catalina" defaultHost="localhost">改成 <!-- You should set jvmRoute to support load-balancing via AJP ie :--><Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX"><!-- <Engine name="Catalina" defaultHost="localhost">-->说明:第一台tomcat就把jvmRoute="tomcat1"第二台tomcat就把jvmRoute="tomcat2" 把<!--<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>-->去掉注释变为<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>***群集详细配置***<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/></Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster> 配置应用的web.xml:在每个webapps应用中,修改配置文件web.xml文件 添加元素<distributable/> 在web.xml文件中<web-app>元素下增加以下内容: <!--此应用将与群集服务器复制Session--> <distributable/> 具体修改如下: 修改前: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]" version="2.5"> </web-app> 修改后: <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]" version="2.5"> <!--此应用将与群集服务器复制Session--> <distributable/> </web-app>配置apache的ajp负载均衡功能:确保将以下Module的注释去掉LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule status_module modules/mod_status.so增加以下内容:# Proxypass ConfigInclude conf/extra/httpd-modproxy.conf建立文件httpd-modproxy.conf输入内容:<Location /server-status> SetHandler server-status Order Deny,Allow Deny from all Allow from all </Location> <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow Deny from all Allow from all </Location> ProxyRequests Off ProxyPass / balancer://tomcatcluster stickysession=jsessionid nofailover=On <Proxy balancer://tomcatcluster> BalancerMember [url]http://192.168.232.5:8080[/url] loadfactor=1 BalancerMember [url]http://192.168.232.6:8080[/url] loadfactor=2 </Proxy>注释:ProxyRequests Off 表示启用反向代理,必须开启; ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster,这里为/即将所有访问/的请求转发到群集balancer://tomcatcluster的/test目录; BalancerMember为群集的成员,即群集服务器1或2,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember; 调试负载均衡集群系统:访问apache服务器的web服务:[url]http://192.168.232.4/balancer-manager[/url]如果显示负载均衡有关信息则说明成功了,接着可以访问[url]http://192.168.232.4/[/url]即访问到了tomcat的应用***必须先启动Tomcat服务再启动Apache服务!*** 参考文档:[url]http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html[/url] [url]http://tomcat.apache.org/tomcat-6.0-doc/balancer-howto.html[/url] [url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy.html[/url] [url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy_balancer.html[/url]
tomcat集群是怎样弄的?
同求,学习学习!
eclipse 启动tomcat 总提示“Publishing to Tomcat v6.0 Server at localhost 怎么解决
你用debug启动一下试试,如果能启动,重启下电脑应该就好了。如果还不行发详细点,我给你参考参考
tomcat的用户名和密码登陆错误什么原因
是不是你更改过了密码,忘记了,不行就把原来的彻底删掉,重新装一个
tomcat 启动抛出java.lang.IllegalArgumentException异常问题
C:Program FilesApache Software FoundationTomcat 6.0webappsswork这个目录不存在造成的问题。在你的程序里边搜索这个目录“swork”,或者查找配置文件中的该路径,初步怀疑是你的配置文件出的错误。多打了一个.s 默认应该是work。重装tomcat不会有任何帮助。
tomcat vm arguments 怎么修改
菜单Windows->Preferences..->MyEclipse Enterprise Workbench->Servers->Tomcat,选择tomcat版本例如Tomcat 6.x,再选择JDK,在右侧Optional Java VM arguments:中添加 -Dfile.encoding=gbk或其它编码 用这个方法试试。。
为什么 tomcat shutdown 后仍然有进程存在
可能存在多个tomcat进程或者是由于软件在tomcat中开启了新的线程,而且未设置成daemon,造成的主线程不能退出。解决方案:可以使用ps命令先查找到所有的tomcat进行,然后依次处理。注意:以下例子仅仅作为操作操作参考查看tomcat进程[root@localhost bin]# ps -ef|grep tomcat root 1513 1 2 23:41 pts/1 00:00:01 /usr/local/share/java/jdk1.6.0_25/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-6.0.32/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/opt/apache-tomcat-6.0.32/endorsed -classpath /opt/apache-tomcat-6.0.32/bin/bootstrap.jar -Dcatalina.base=/opt/apache-tomcat-6.0.32 -Dcatalina.home=/opt/apache-tomcat-6.0.32 -Djava.io.tmpdir=/opt/apache-tomcat-6.0.32/temp org.apache.catalina.startup.Bootstrap start 杀死tomcat[root@localhost bin]# kill -9 1513
out of synch。不同步是什么意思?环境是:tomcat6 +jdk1.6+spring+hibernate+struts2。
你这个是在后台代码中(bean)中没有得到页面input进来的数据,你看怎么回事
c#编程 如何从自己建的Tomcat服务器上下载文本和上传文本?请完整代码+注释 在线等。。。。
刚好有个小例子,已发送至你邮箱。你看行不。。。。
命令行启动tomcat,怎么配置
net start services.msc命令行里面输入!!
tomcat安装后,在“服务”中为什么没有
Tomcat以服务形式启动1、首先打开(安装路径)tomcat的bin目录找到service.bat2、将service.bat左键点击拖入到dos窗口(既-》点击运行 输入cmd 后) 按Enter键如图:如果出现的不是 : usage:service.bat install/remoce [service_name],那便是安装tomcat的那个路径错了3、成功之后在dos窗口键入 service.bat install Tomcat 输完然后按Enter键4、这一便在服务中添加了一个tomcat的服务,只需要将此服务开启即可,若要开机启动就将服务设成是自动的5、在管理服务中 启动或者将其设置成自启动(双击)设置启动类型
关于tomcat
什么怎么回事?他不是告诉你安装tomcat成功了吗?这个不是你访问http://localhost:8080得到的页面吗?你现在要做的就是将你编译好的JavaWeb项目,放到tomcat的webapps文件中,然后访问http://localhost:8080/你项目名称,就OK了。
tomcat如何配置
配置什么啊,哪方面的
tomcat性能分析
Tomcat 默认配置的最大请求数是 150,实际上也就300-400并发 当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群具体能承载多少并发,需要看硬件的配置,CPU 越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。qps100以下单服务器,单应用qps1000以下启动多个tomcat实例(tomcat集群),并使用负载均衡服务器对其访问进行分配。用户访问直接访问负载均衡服务器。qps10000以下通过分布式架构,将session服务化,解决session复制问题,并按照功能模块拆分成独立子系统,独立配置子系统集群(加服务器,不用配置session共享)。 生产环境下的两台Nginx + PHP5(FastCGI)服务器,跑多个一般复杂的纯PHP动态程序,单台Nginx + PHP5(FastCGI)服务器跑PHP动态程序的处理能力已经超过“700次请求/秒”,相当于每天可以承受6000万(700 60 60*24=60480000)的访问量 Nginx的高并发,官方测试支持5万并发连接。实际生产环境能到2-3万并发连接数。10000个非活跃的HTTP keep-alive 连接仅占用约2.5MB内存。三万并发连接下,10个Nginx进程,消耗内存150M。淘宝tengine团队说测试结果是“24G内存机器上,处理并发请求可达200万”。 mysql阿里云性能比较 QPS:全名 Queries Per Second,意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。简单的说,QPS = req/sec = 请求数/秒。它代表的是服务器的机器的性能最大吞吐能力。TPS 即 Transactions Per Second 的缩写,每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,最终利用这些信息作出的评估分。TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。
tomcat是什么,怎么理解,跟java的关系
可以运行jsp
TomCat是什么软件啊?
常用的应用服务器
如何用tomcat将网页发布到网上!
是 个 ftp软件 都可以 输入 你的申请的空间的 地址和 密码 就能上传了
tomcat 是不是java 框架
tomcat是java的web服务器,和iis一样的、
tomcat和apache的区别
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。