javaweb随笔4
HTTP(超文本传输协议),它是一种主流B/S架构中应用的通信协议。具有以下特点:
1、无状态
服务端不会记录客户端每次提交的请求,服务器一旦相应客户端之后,就会结束本次的通信过程。客户端下一次的请求是一个新的 连接,和上一次通信没有任何关系。
2、简单灵活
HTTP是基于请求(request)和响应(response)的模型
3、支持客户端与服务端
支持主流的B/S架构的通信以及C/S架构的通信。
注意:C/S架构可选的协议有多种,例如:TCP/IP,UDP,HTTP
而B/S架构通常只支持HTTP协议
二、服务器
1、概念
服务器通常由硬件和软件部分构成,统一对用户提供多种不同的服务。
1、硬件:包括响应的CPU、内存、磁盘等等
2、软件:包括操作系统、运行环境、服务器软件、数据库等等
2、web服务器
web服务器是提供服务端程序运行的一个环境,它本身也是一个软件。
例如:将我们编写HTML文件放入到web服务器中,那么外界就可以通过浏览器访问我们的html页面
常见的web服务器有Apache,Tomcat、Jetty、Nginx等等。
而Tomcat、Jetty这些web服务器更准确的说是一个Servlet容器。
三、JavaWeb项目结构
项目根目录,例如:myweb、ch01 | 通常存放静态资源文件(如:html等等) | ||
---|---|---|---|
WEB-INF | 这个目录是当前项目私有的一个文件夹,只能提供给项目内部访问,对于客户端来说是访问不到了,通常这个目录下存放的是Java源代码、编译后的字节码文件以及Servlet的核心配置文件web.xml | ||
src | 存放java源代码的目录 | ||
classes | 存放编译后的字节码文件 | ||
lib | lib目录存放当前项目所需要的jar文件 | ||
JSP | 用于存放JSP动态页面 | ||
web.xml | 项目的配置文件,用于配置Servlet的请求映射、过滤器、监听器等等信息。每一个web项目都对应一个web.xml配置文件 | ||
META-INF | 配置应用程序、扩展程序、类加载服务等等 |
四、Servlet基础
1、什么是Servlet
Servlet是JavaEE中标准组件,专门用于处理客户端提交的HTTP请求。并且它必须依赖于Servlet容器才可以运行(Tomcat就是一个标准的Servlet容器),Servlet容器给Servlet提供一个运行环境,所以Servlet组件必须要这个环境中可以运行,而不能脱离这个环境而单独执行。因为Servlet的实例是由容器创建和销毁的,并不是通过我们平常使用的new关键创建出来。
2、开发一个Servlet的步骤
1.编写一个类,然后继承HttpServlet这个父类
2.重写父类的service方法,这个就是专门处理客户端请求的方法,这个方法有两个参数(HttpServletRequest,HttpServletResponse),同时这个方法会抛出两个异常(ServletException,IOException)