当前位置: 首页 > news >正文

在Tomcat中理解Servlet的运行机理

clip_image002 Servlet是处理UI请求的一种在BLL中异于其他处理类的一个特殊类,不同于其他的类,在系统运行的时候,每次New,都会产生不同的对象,而Servlet是单实例,多线程,只New一次。但是,这样会产生一系列的问题,我们以前写程序的时候,用过全局变量,全局变量的值在任何地方都可能被更改,这样便容易出现数据不一致,发生冲突。这样的线程,是不安全的。

右侧的截图就很好的描述了,从web客户端和Tomcat服务器,到通过web.xml配置文件实现FirstServlet的一整个流程。

以下是web.xml中配置FirstServlet的源文件.

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!--配置servlet类,这里的FirstServlet主要处理页面的get请求--> <servlet> <servlet-name>fs</servlet-name> <servlet-class>FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>fs</servlet-name> <!--/servlet为虚拟目录,和IIS中的虚拟目录一个意思, http://localhost:8080/test-servlet/servlet/FirstServlet 这就是FirstServlet的访问链接--> <url-pattern>/servlet/FirstServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>sc</servlet-name> <servlet-class>setCookies</servlet-class> </servlet> <servlet-mapping> <servlet-name>sc</servlet-name> <!--/servlet为虚拟目录--> <url-pattern>/servlet/setCookies</url-pattern> </servlet-mapping> </web-app>

相关文章:

  • Collections.sort()
  • 更新-解决linux oracle shell上下箭调用历史命令
  • robotframework笔记19
  • 科学家提出记忆形成新解 大脑玩的拼图游戏
  • Spring Boot文档阅读
  • 网站性能提高实战经验点滴记录
  • Effective C++学习笔记 chapter 1
  • ipmi对于统一硬件管理的意义
  • 微信JS-SDK应用DEMO
  • Javascript 页面刷新
  • unix编程艺术中的17点编程原则--设计开发者的至高准则
  • Intel系列CPU的流水线技术的发展
  • 实验二 作业调度模拟程序
  • Spring源码学习(二)------ AOP
  • 2,3,4,11章
  • #Java异常处理
  • 4个实用的微服务测试策略
  • create-react-app做的留言板
  • ES学习笔记(12)--Symbol
  • Git初体验
  • in typeof instanceof ===这些运算符有什么作用
  • IP路由与转发
  • Java 内存分配及垃圾回收机制初探
  • Sublime text 3 3103 注册码
  • VUE es6技巧写法(持续更新中~~~)
  • 测试如何在敏捷团队中工作?
  • 大快搜索数据爬虫技术实例安装教学篇
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 设计模式 开闭原则
  • 什么是Javascript函数节流?
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 思维导图—你不知道的JavaScript中卷
  • 微信开源mars源码分析1—上层samples分析
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (+4)2.2UML建模图
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C++)八皇后问题
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (剑指Offer)面试题34:丑数
  • (转)fock函数详解
  • (转)平衡树
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET Core 项目指定SDK版本
  • .net wcf memory gates checking failed
  • .NET 使用 XPath 来读写 XML 文件
  • .net反编译工具
  • .NET基础篇——反射的奥妙