`

基于NetJava教材的servlet初探

    博客分类:
  • Web
阅读更多

1servlet路径配置详解

   servelt的一项非常重要的特性就是支持模糊配置,<.url-pattern>中配置的路径的定义例子有:"*.netjava"表示所有以".netjava"结尾的都会对应到这个配置上"/servlet/*"表示所有在app绝对路径后加"/servlet/<RegisteredServletName>"的都满足。

关于Web中路径的配置,有很多可以说的,网上的牛人已经为我们做好了铺垫:

http://www.iteye.com/wiki/topic/800415 

对于解决措施,网上也有不少解决方法,这里就不列举。

 

 

2数据的存储

servlet中数据一般是以"key-value pair"存储的。关于requestsessoincontext的作用范围以及session的会话超时与无效这里就不赘述了,很好理解。

 

 

3servlet的过滤和监听

过滤:实现的细节我不想再这里讲,重点是明白:过滤器就是加在请求具体的servletjsphtmlweb资源之间的一层东西,以实现认证过滤、加密过滤等作用。使用的比较多的是,处理中文问题和登陆认证。

为了避免过滤器的一些诸如死循环的问题,可以在过滤器中配置有选择性的过滤,放过那些不需要安全保护的地址。

监听servlet监听器主要是用来监听sessionrequestapplication中数据的变化,例如有多少人访问我们的网站。

 

 

4servlet模型深入解析

 

AServlet生命周期和定义的方法对应如下

 

加载和实例化——DistributeServlet()

初始化——init()

请求处理——service()/doGet()/doPost()

从服务器中删除——destroy()

 

B、多线程模型

 

默认servlet使用多线程模型,就是两个客户端请求可以同时访问同一个servlet实例,懂同步的同学应该明白,这会造成一些意想不到的结果,如果要同步它只要让servlet实现SingleTreadModel接口即可(不需要实现任何方法),不过这中一个一个处理请求的方式可能会导致严重的性能瓶颈。单线程不适合于高容量的Web站点。为了减少创建实例的时间,在例如Weblogic Server的服务器上,在servlet单线程是是利用对象池来实现的。

我们一般选用默认的多线程模型,不过在使用的时候要注意servlet中变量作用域的问题



 【多线程的JMM模型】

局部变量从来都是现成安全的,作用域别限制在被声明的方法中。

实例变量(可以理解为属性)在多线程模型中不是线程安全的,这里我用上面的JMM模型分析:实例变量时存在主存中的,不过任何一个线程对象的缓存中数据的改变都可能实时地导致贮存中实例变量的改变,所以,不安全。可以用实现SingleTreadModel来完全消除这种不安全性。故一般不建议使用可修改的实例变量。

静态变量:类一级的就算实现SingleTreadModel接口也不能保证线程安全,故一般只用于存储常量。

ServletContext对象由所有的servelt对象共享,不管是不是单实例都不是线程安全的。

HttpSession对象:同一会话请求的多个线程,管是不是单实例都不是线程安全的。

HttpRequest对象:是线程安全的,只属于一个请求。

  • 大小: 8.9 KB
0
2
分享到:
评论

相关推荐

    基于java+servlet+mysql学生信息管理系统-期末大作业

    基于java+servlet+mysql学生信息管理系统-期末大作业基于java+servlet+mysql学生信息管理系统-期末大作业基于java+servlet+mysql学生信息管理系统-期末大作业基于java+servlet+mysql学生信息管理系统-期末大作业基于...

    基于Java Web(Servlet)的电影售票管理系统源码.zip

    基于Java Web(Servlet)的电影售票管理系统源码+项目说明.zip基于Java Web(Servlet)的电影售票管理系统源码.zip基于Java Web(Servlet)的电影售票管理系统源码.zip基于Java Web(Servlet)的电影售票管理系统源码.zip...

    基于java+Servlet的前后端分离编写的机票预订管理系统源码.zip

    基于java+Servlet的前后端分离编写的机票预订管理系统源码.zip基于java+Servlet的前后端分离编写的机票预订管理系统源码.zip基于java+Servlet的前后端分离编写的机票预订管理系统源码.zip基于java+Servlet的前后端...

    基于Java+servlet+jsp技术开发的大学宿舍自助管理系统源码.zip

    基于Java+servlet+jsp技术开发的大学宿舍自助管理系统源码.zip基于Java+servlet+jsp技术开发的大学宿舍自助管理系统源码.zip基于Java+servlet+jsp技术开发的大学宿舍自助管理系统源码.zip基于Java+servlet+jsp技术...

    基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip

    基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip基于JSP+Java+Servlet采用MVC模式开发的购物网站源码+项目说明.zip基于JSP...

    java基于servlet+jsp+mysql简单宿舍管理系统jsp原生界面开发

    Java基于Servlet+jsp+MySQL的简单宿舍管理系统是一个基础级别的Web应用程序开发实例,它涵盖了Web开发中的关键技术。这个系统主要用于管理宿舍的相关信息,提供用户注册、登录以及对宿舍的增删改查等基本功能,是...

    基于Java+servlet的网上图书商城源码+sql数据库(javaweb课程作业).zip

    基于Java+servlet的网上图书商城源码+sql数据库(javaweb课程作业).zip基于Java+servlet的网上图书商城源码+sql数据库(javaweb课程作业).zip基于Java+servlet的网上图书商城源码+sql数据库(javaweb课程作业).zip基于...

    Java期末大作业 基于Java+JSP+Servlet实现的租车管理系统源码

    Java期末大作业 基于Java+JSP+Servlet实现的租车管理系统源码 Java期末大作业 基于Java+JSP+Servlet实现的租车管理系统源码 Java期末大作业 基于Java+JSP+Servlet实现的租车管理系统源码 Java期末大作业 基于Java+...

    基于java servlet实现的在线投票系统源码+项目说明(高分毕设).zip

    基于java servlet实现的在线投票系统源码+项目说明(高分毕设).zip # vote-servlet 一个简易在线投票系统,基于java servlet 基于java servlet实现的在线投票系统源码+项目说明(高分毕设).zip # vote-servlet 一...

    基于java-servlet的学生成绩管理系统

    《基于Java-Servlet的学生成绩管理系统》 Java-Servlet技术是Java Web开发中的核心组件,主要用于处理HTTP请求,构建动态Web应用。在本“学生成绩管理系统”中,Servlet扮演了服务器端的重要角色,实现了数据的存储...

    基于Jsp+Servlet+Java实现的病房管理系统.zip

    基于Jsp+Servlet+Java实现的病房管理系统基于Jsp+Servlet+Java实现的病房管理系统 基于Jsp+Servlet+Java实现的病房管理系统基于Jsp+Servlet+Java实现的病房管理系统 基于Jsp+Servlet+Java实现的病房管理系统基于Jsp+...

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...

    基于java servlet的题库系统

    【基于Java Servlet的题库系统】是一个非常适合初学者探索Java Web开发基础的项目。这个系统主要依赖于Servlet技术,这是一种用于构建动态Web应用程序的技术,它允许服务器端代码处理客户端的请求并返回响应。在这个...

    毕业设计大作业基于的JavaBean+Servlet+jsp的网上购物系统毕业设计源码.zip

    毕业设计大作业基于的JavaBean+Servlet+jsp的网上购物系统毕业设计源码.zip 该系统是对我们原有JAVA大作业进行的扩展,应用到持久化管理、模版管理和视图管理等一些模式。 需求规定 a. 系统功能:采购图书 b.系统性能...

    java.servlet的jar包

    支持servlet的jar包。应该叫servlet-api.jar 你如果编写过servlet就知道要用到HttpServletRequest和HttpServletResponse等对象,这些对象都是要靠这个jar包才能使用的。 如果你安装了Tomcat,这个jar包一般在tomcat...

    servlet学习入门教材

    - 可移植性:由于基于Java编写,Servlet具有良好的平台独立性。 - 功能强大:能够处理各种复杂的HTTP请求,并支持多种数据格式(如HTML、JSON等)。 - 安全性高:Servlet运行在服务器端,可以实现更高级别的安全...

    基于jsp+servlet+Java实现的停车场信息管理系统.zip

    基于jsp+servlet+Java实现的停车场信息管理系统 基于jsp+servlet+Java实现的停车场信息管理系统 基于jsp+servlet+Java实现的停车场信息管理系统 基于jsp+servlet+Java实现的停车场信息管理系统 基于jsp+servlet+Java...

    基于Java Web(Servlet)的电影售票管理系统.zip

    基于Java Web(Servlet)的电影售票管理系统.zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和...

    Java期末大作业基于Java+JSP+Servlet的租车管理系统源码+数据库(高分项目)

    Java期末大作业基于Java+JSP+Servlet的租车管理系统源码+数据库(高分项目)Java期末大作业基于Java+JSP+Servlet的租车管理系统源码+数据库(高分项目)Java期末大作业基于Java+JSP+Servlet的租车管理系统源码+...

Global site tag (gtag.js) - Google Analytics