前段再次学习了下java_web基础,巩固一下底层的东西,虽然不经常用,但是跳槽面试时总会涉及到这些东西。
首先说下这个电子资料吧《深入体验Java_Web开发内幕-核心基础.pdf》,比较基础,很适合进行了java工作一段时间的阅读.
言归正传:
Tomcat 中server.xml配置:
Conector 连接器 接收客户端请求,转给Engine 处理,他根据http协议中的host值选择其下配置的Host 选择对应的虚拟目录提供服务。
<host>下配置<context path=”” docBase=”” debug=”0”/>来设置虚拟目录
一个WEB服务器创建多个web站点:
1创建多个<host> ,根据其中的name,可以建立多站,但是需要配置Hosts文件或者DNS服务器。(利用HTTP协议中的host属性,此时访问的URL地址必须是host中配置的name属性,在使用SSL协议时不能采用此方法,因为对 host进行了加密)
2,根据端口号建立多站,是建立多个<connector>
借用JK插件,利用AJP协议实现apache或者IIS与tomcat的集成
http协议:
http1.0: 客户机与服务器信息交换主要经过四个步骤:建立连接、发送请求信息、回送响应信息、关闭连接。
每次连接只处理一个请求和响应
http1.0 会导致一个页面里建立多个连接,因为在一个页面可能引入的是URL,类似图片地址,CSS样式文件等等。
HTTP1.1 得到改善,支持持久连接,可以在一个TCP连接上发送多个请求和响应
根据referer请求头消息,能判断发送的请求连接是浏览器网址输入还是网站超级连接,此属性可以防止盗链,但是并不可靠,因为可以使用类似telnet 工具仿造referer消息头
Servlet 技术:
Servlet引擎,转给servlet程序
Servlet程序必须实现servlet接口,但通常使用继承HttpServlet,此类已经实现该接口
在程序中获得代表某个类的字节码数据的Class实例对象,可以采用以下三种方式:
1、 类名.class,例如System.class
2、 对象.getClass(),例如new Date().getClass()
3、 Class.forName(“类名”);
Java虚拟机中内嵌一个Bootstrap的类装载器,它是用特定于操作系统的本地代码来实现,属于java虚拟机的内核
Java核心包包含另外两个类装载器:
1、 ExtClassLoader 负责加载<java_home>/jre/lib/ext目录下jar包中的类
2、 AppClassLoader 负责加载应用程序的启动类
ServletContext
每个web应用程序都有自己的独立的servlet容器,每个web应用程序分别用一个ServletContext对象来表示,servlet引擎为每个web应用程序都创建一个对应的servletContext对象,ServletContext 对象包含在ServletConfig对象中,可以调用ServletConfig.getServletContext方法得到
ServletContext对象可以夸应用得到,使用getContext方法,但是需要设置
crossContext属性
首先说下这个电子资料吧《深入体验Java_Web开发内幕-核心基础.pdf》,比较基础,很适合进行了java工作一段时间的阅读.
言归正传:
Tomcat 中server.xml配置:
Conector 连接器 接收客户端请求,转给Engine 处理,他根据http协议中的host值选择其下配置的Host 选择对应的虚拟目录提供服务。
<host>下配置<context path=”” docBase=”” debug=”0”/>来设置虚拟目录
一个WEB服务器创建多个web站点:
1创建多个<host> ,根据其中的name,可以建立多站,但是需要配置Hosts文件或者DNS服务器。(利用HTTP协议中的host属性,此时访问的URL地址必须是host中配置的name属性,在使用SSL协议时不能采用此方法,因为对 host进行了加密)
2,根据端口号建立多站,是建立多个<connector>
借用JK插件,利用AJP协议实现apache或者IIS与tomcat的集成
http协议:
http1.0: 客户机与服务器信息交换主要经过四个步骤:建立连接、发送请求信息、回送响应信息、关闭连接。
每次连接只处理一个请求和响应
http1.0 会导致一个页面里建立多个连接,因为在一个页面可能引入的是URL,类似图片地址,CSS样式文件等等。
HTTP1.1 得到改善,支持持久连接,可以在一个TCP连接上发送多个请求和响应
根据referer请求头消息,能判断发送的请求连接是浏览器网址输入还是网站超级连接,此属性可以防止盗链,但是并不可靠,因为可以使用类似telnet 工具仿造referer消息头
Servlet 技术:
Servlet引擎,转给servlet程序
Servlet程序必须实现servlet接口,但通常使用继承HttpServlet,此类已经实现该接口
在程序中获得代表某个类的字节码数据的Class实例对象,可以采用以下三种方式:
1、 类名.class,例如System.class
2、 对象.getClass(),例如new Date().getClass()
3、 Class.forName(“类名”);
Java虚拟机中内嵌一个Bootstrap的类装载器,它是用特定于操作系统的本地代码来实现,属于java虚拟机的内核
Java核心包包含另外两个类装载器:
1、 ExtClassLoader 负责加载<java_home>/jre/lib/ext目录下jar包中的类
2、 AppClassLoader 负责加载应用程序的启动类
ServletContext
每个web应用程序都有自己的独立的servlet容器,每个web应用程序分别用一个ServletContext对象来表示,servlet引擎为每个web应用程序都创建一个对应的servletContext对象,ServletContext 对象包含在ServletConfig对象中,可以调用ServletConfig.getServletContext方法得到
ServletContext对象可以夸应用得到,使用getContext方法,但是需要设置
crossContext属性