- 浏览: 39946 次
文章分类
最新评论
通过启动线程可以进行后台的操作
1.创建servlet
2.配置web.xml
3.测试
启动tomcat:
thread run: true
thread run: true
停止线程:
http://localhost:8080/itinfo/grabblogaction?method=stop
thread run: true
thread run: true
stop thread
启动线程:
http://localhost:8080/itinfo/grabblogaction?method=start
thread run: true
stop thread
start threadnull
start thread
thread run: true
thread run: true
1.创建servlet
package com.wuhao.itinfo.action; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.*; public class GrabBlogHtmlAction extends HttpServlet { /** * function:control thread state * * @author wuhao */ private static final long serialVersionUID = 1L; private GrabBlogThread gbt; private String method; @Override public void init() throws ServletException { gbt = new GrabBlogThread(); gbt.start(); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //get start or stop thread method = (String) request.getParameter("method"); if("stop".equals(method)){ //stop thread if(gbt != null){ gbt.stopThread(); gbt = null; System.gc(); System.out.println("stop thread"); } }else if("start".equals(method)){ System.out.println("start thread" + gbt); //start thread if(gbt == null || !gbt.isAlive()){ gbt = new GrabBlogThread(); gbt.start(); } System.out.println("start thread"); }else{ System.out.println("nothing to do"); } } /*** * * */ class GrabBlogThread extends Thread { //thread stop sign private volatile boolean stopSign = true; //stop thread public void stopThread(){ stopSign = false; } public void startThread(){ stopSign = true; } @Override public void run() { while(stopSign){ System.out.println("thread run: " + stopSign); try { sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
2.配置web.xml
<!-- GRAB HTML --> <servlet> <servlet-name>GRABHTML</servlet-name> <servlet-class>com.wuhao.itinfo.action.GrabBlogHtmlAction</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>GRABHTML</servlet-name> <url-pattern>/grabblogaction</url-pattern> </servlet-mapping> <!-- GRAB HTML -->
3.测试
启动tomcat:
thread run: true
thread run: true
停止线程:
http://localhost:8080/itinfo/grabblogaction?method=stop
thread run: true
thread run: true
stop thread
启动线程:
http://localhost:8080/itinfo/grabblogaction?method=start
thread run: true
stop thread
start threadnull
start thread
thread run: true
thread run: true
发表评论
-
JVM内存结构及分析
2017-07-16 19:38 574JVM内存模型 名称特征 ... -
JVM调优实例
2017-06-24 12:30 01.背景:由于最近上线新增业务模块,业务量要增加所以对上线服务 ... -
音视频编码转换-ffmpeg
2016-12-30 18:42 15861.前言 由于最近在做ios与android端需要做a ... -
git did not match any file(s) known to git
2016-04-23 23:49 31731.did not match any file(s) kno ... -
Static工具类线程安全问题
2016-01-08 11:39 23581.静态方法 无论是静态方法还是实例方法,在内存中都只 ... -
JavaThread-ThreadLocal笔记
2015-12-23 14:54 5371.ThreadLocal简介 早在JDK 1.2的版本中就提 ... -
JUC-CountDownLatch笔记
2015-12-23 10:53 5691.CountDownLatch简介 CountDownLat ... -
Lambda表达式实现设计模式:命令模式
2015-10-13 09:59 719如何在使用Java 8 Lambda表达式的函数式编程方式时实 ... -
mysql 错误汇总
2015-08-12 16:49 4391.Mysql ERROR 1045 (28000): Acc ... -
Java注解
2015-08-07 11:25 01.@Retention(RetentionPolicy.RU ... -
Base64 编解码 工具类
2015-07-28 22:48 43061.工具类: import java.io.Uns ... -
HttpClient(发送字符串,multipart, 参数等)
2015-07-10 11:12 2098备注:httpclient4.5 发送MultiPart/Pa ... -
转载-搜索引擎实时秒级更新
2015-07-08 14:02 871搜索是很多用户在天 ... -
tomcat-定时任务
2015-03-30 15:27 6651.监听类 import java.util.Timer ... -
JVM-工作原理
2015-03-16 23:26 649一、 JVM的生命周期 1. J ... -
Exception in thread "main" SoapFault - faultcode: 'soapenv:Server.userException'
2015-01-20 22:32 14481.抛出此类错误大部分都是服务端发布webservice调用出 ... -
Tomcat映射虚拟目录
2015-01-19 22:43 01.设置虚拟目录 <Host>标签</H ... -
android-运行java main方法
2014-12-30 16:10 7261.右键入口类(含有Main方法的)Run Configura ... -
Mybatis 常见错误汇总
2014-12-28 22:31 01.插入数据到数据库是异常 ### Cause: java.s ... -
jsoup
2014-12-17 00:25 01. package com.wuhao.itinfo ...
相关推荐
6. **安全管理**:在生产环境中,确保配置正确的用户管理和权限控制,例如设置`tomcat-users.xml`以限制对管理界面的访问,防止未授权的访问。 7. **应用部署**:你可以将打包好的WAR文件放入`webapps`目录下,...
这个解压版包含了所有必要的组件,使得用户无需进行编译或额外配置就可以在本地环境中运行基于Java的Web应用。 **1. Tomcat简介** Tomcat是Apache软件基金会Jakarta项目的一个核心部分,它是一个轻量级的Web服务器...
10. **监控和管理工具**:使用JMX(Java Management Extensions),可以远程监控Tomcat的状态,如内存使用、线程状态等。 总的来说,Apache Tomcat 7.0.63作为一个轻量级的Java应用服务器,因其易用性和灵活性,在...
1. **热部署**:在开发过程中,当Web应用的源代码发生变化时,Tomcat可以自动检测并重新加载,无需手动重启服务器。 2. **开发工具集成**:许多IDE如Eclipse和IntelliJ IDEA支持直接与Tomcat集成,便于开发和调试。 ...
5. **目录结构**:解压后的`apache-tomcat-8.5.49`目录包括`bin`(包含启动和停止脚本)、`conf`(配置文件)、`lib`(运行时所需的JAR文件)、`webapps`(部署的应用程序)、`logs`(日志文件)等。 6. **部署应用...
- **JMX代理**:启用JMX(Java Management Extensions),可以通过JConsole等工具远程监控Tomcat状态。 总之,Apache Tomcat 7.0.59免安装版为开发者提供了高效、灵活且易用的Java web服务器环境,无论是在个人...
在使用这个防攻击版的Apache Tomcat 7.0.100时,需要注意以下几点: - 确保遵循最佳实践进行部署,如将Tomcat配置在非标准端口上,以减少被扫描和攻击的可能性。 - 定期监控服务器的性能和安全日志,以便及时发现...
6. **多线程处理**:Tomcat使用多线程模型处理并发请求,确保高效服务。 7. **安全性**:支持SSL和TLS协议,可以设置数字证书,保护数据传输的安全。 8. **热部署**:在Tomcat运行时,可以更新WEB-INF目录下的文件,...
64位版本的Tomcat可以利用现代处理器提供的额外内存地址空间,允许更大的Java堆内存分配,从而处理更大型的应用程序和更高的并发用户负载。 4. **安装与配置**:解压后,用户通常会找到一个名为“apache-tomcat-...
在下载并解压"apache-tomcat-6.0.48-windows-x64"压缩包后,用户可以直接使用,无需进行额外的安装步骤,这是"免安装版"的概念。 **Apache Tomcat 6的核心功能和特性:** 1. **Servlet容器**:Tomcat主要作为...
解压缩后,文件夹命名为"apache-tomcat-7.0.25.ext",这里的".ext"可能是一个自定义的扩展名,或者代表“扩展”(extension),暗示解压后的目录包含了一些额外的或定制的配置或文件。 在Tomcat 7.0.25中,用户可以...
- 使用`jstack`或`jconsole`等工具分析Tomcat的线程状态和内存使用情况。 11. **性能优化**: - 调整`conf/server.xml`中的`maxThreads`、`minSpareThreads`等参数,优化连接器的线程池。 - 设置合适的JVM内存...
3. **应用部署**:应用程序通常部署在`webapps`目录下,只需将WAR文件或解压后的应用目录放入此目录,Tomcat会自动检测并部署。 4. **环境变量**:如果你需要设置额外的Java系统属性或环境变量,可以在`bin/catalina...
这对于初学者和只需要基础功能的开发者来说非常合适,因为他们通常不需要额外的功能,只需要一个能够快速启动并运行Servlet和JSP应用的环境。 **总结** 精简版Tomcat-5.5是一个高效且轻便的Java Web服务器,特别...
2. **安装与启动**:解压后,找到bin目录下的`startup.sh`(Linux/Mac)或`startup.bat`(Windows),运行该脚本来启动Tomcat服务器。关闭时,运行`shutdown.sh`或`shutdown.bat`。 3. **配置**:主要的配置文件...
在本例中,我们讨论的是Apache Tomcat的6.0.20版本,这是一个较早但仍然广泛使用的版本,特别是在那些需要兼容旧系统或者对资源消耗有严格控制的环境中。 标题"apache-tomcat-6.0.20.exe"表明这是Tomcat 6.0系列的...
2. **架构**:Tomcat基于多线程模型,使用Catalina作为核心引擎处理请求。 3. **配置**:Tomcat的配置主要在`conf`目录下的`server.xml`文件中进行,包括端口设置、虚拟主机、上下文路径等。 4. **部署**:可以...
1. **系统资源访问**:APR允许Tomcat直接访问操作系统的功能,如文件I/O、网络通信、线程管理和信号处理,从而提高效率和性能。 2. **本地化功能**:通过APR,Tomcat可以利用操作系统提供的本地化服务,如多语言...
然而,即便如此,Tomcat启动依然缓慢,而且在启动过程中,JVM进程已正常启动但并未完成启动过程,排除了JVM异常退出的可能性。随后,进一步排查包括CPU、内存使用率、硬盘空间以及网络I/O等常规检查均未发现问题。 ...
内嵌的 Tomcat 容器是 Spring Boot 默认的 Web 服务器,使得我们可以无需额外配置即可运行 Java Web 应用。在本篇文章中,我们将探讨如何对 Spring Boot 内嵌的 Tomcat 进行个性化配置。 首先,Spring Boot 提供了 ...