- web服务器每天24小时不间断运行,并等待HTTP客户端(通常是Web浏览器)来连接并请求资源。通常,客户端发起一个连接,服务端不会主动连接客户端。(其实服务端可以通过WebSocket协议主动发起同客户端的会话通信)
- 一台计算机可以托管不止一个域名,因此,不同的域名可能指向同一个IP。(IP才是计算机的真实存在)
- HTTP请求头信息和请求正文用一行空行分隔,HTTP服务器根据此判断请求正文的起始位置。因此,在一些关于互联网的书籍中,CRLF被称为HTTP请求的第四种组件。
- CGI技术为每一个请求创建相应的进程,但是,创建进程会耗费大量的CPU周期,最终导致很难编写可伸缩的CGI程序。相对于CGI程序,一个servlet则快多了,这是因为当一个Servlet未响应第一次请求而被创建后,会驻留在内存中,以便相应后续请求。
- Servlet是运行在Servlet容器中的Java程序,而Servlet容器或Servlet引擎相当于一个Web服务器,但是可以产生动态内容,而不仅是静态资源.(典型的Servlet容器——tomcat)。
- 一个Servlet应用运行在一个Servlet容器中,他无法独立运行。Servlet容器将来自用户的请求传递给Servlet应用,并将Servlet应用的响应返回给用户。(一起都要通过容器进行)
- 依赖注入:若类A有一个field是类B的对象,即A的某个方法需要使用B对象来实现,则称A依赖B。在J2SE中,B对象可使用new来生成。通过spring,可以在A类中写入setB()方法或者构造器中直接指定construct(B b),spring通过这两种setter注入或者构造器注入被依赖的对象。这里要注意,底层对象总是先由spring生成,然后注入到高层对象。即先生成B对象,然后注入到A对象中,A对象才算生成成功。
- 从spring 2.5开始,可以通过Autowired注解,spring支持基于field方式的依赖注入,但是缺点是程序必须引入org.springframework.beans.factory.annotation.Autowired,这就对spring产生了依赖,这样,程序无法直接迁移到另一个依赖注入容器中。(可以通过基于java的@Resource引入,降低对Spring的依赖。)这种方式只需要一个注解标签就解决了依赖问题,是依赖注入的首选方法。
时间: 2024-10-07 22:19:55