javaWeb总结+小结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JavaWeb
B/S与C/S的区别
1,从安装上来讲,B/S只需要在服务器端安装即可,而C/S却需要每一个客户端进行安装。2,从部署上来说,B/S只需要服务器能够支持即可,而C/S却对每一个客户端的电脑提出了要求。
3,从升级,维护角度来说,B/S只需要在服务器端升级维护即可,像网易的邮箱,而C/S 却是服务器更新维护一次,客户端就要下载相关的补丁才能使用
4,从安全性来讲,B/S是基于服务器的,较之C/S安全性好
5,从本质上来说,B/S是基于请求驱动的,即客户端发送一个Http请求,然后服务器进行处理之后,响应给客户端,而C/S却是基于事件驱动的,像腾讯的QQ。
6,从耦合度来讲,B/S与服务器端耦合,而C/S却是与客户端的操作系统进行耦合。
但是Client/Server(从游戏的角度来讲)较之Brows/Server具有优质的画面。
Servlet的使用步骤:
1,创建一个JA V A类,存放在com.fit.servlet包中,并且此类extends HttpServlet类,才能成为一个Servlet
2,覆写doGet()和doPost()方法
3,最后,在web.xml文件中进行Servlet配置。具体的配置如下:
Servlet的生命周期,作用,并说出和CGI(Common Gateway Interface)的区别
就是指Servlet从创建出实例对象到销毁的过程。它是一个容器,负责创建实例来接受客户端的请求,并且以多线程的方式响应给客户。具体过程如下:
Servlet被服务器实例化之后,容器运行其init方法进行初始化,请求到达时运行其service 方法,在此过程中仅创建一个对象,然后service方法自动调用与请求相应的doXxx方法,当服务器决定将实例进行销毁时,再调用其destroy方法。
与CGI(通用网关接口)的区别在于,Servlet处于服务器进程中,它通过多线程的方式运
行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每一个请求都产生新的进程,服务完成后就销毁,所以效率低于Servlet
作用:可以用来进行接收客户端的请求,也可以进行请求流的控制。
Http协议:(了解)
首先它是(Hypertext Transfer Protocol)超文本传输协议。
HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下:
请求行-通用信息头-请求头-实体头-报文主体
请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以CRLF 结尾。
应答报文格式如下:
状态行-通用信息头-响应头-实体头-报文主体
状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。
工作流程:
一次HTTP操作称为一个事务,其工作过程可分为四步:
首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。
建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
Javascript的作用:
1,进行验证(通过正则表达式,在css+HTML的部分特性进行浏览器端的格式验证工作)
2,进行交互(将客户端的一个请求通过JavaScript可以发送到服务器端,也可以在浏览器端进行人机的交互,突破了以前静态页面的交互性限制)
3,进行特效的处理,如走马灯,时间时钟。
Servlet生命周期:(详细)
是指Servlet实例从被创建到其消失(对象销毁,回收)中间的时间及各个阶段,称之为Servlet生命周期。
前提:web服务器加载类。之后执行以下过程:
1,实例化:Servlet容器创建Servlet实例,具体就是当接收到客户端的第一次请求时,Servlet 容器负责创建Servlet的一个实例。且在此过程中仅创建一个实例,通过多线程的方式响应客户端的请求
2,初始化:该容器调用init()方法。
3,服务:当请求到达时,该Servlet容器自动调用server()方法,根据客户端发送请求的方式,选择doXxx()方法执行
4,销毁:当web服务器被卸载的时候,调用destroy()方法进行对象的销毁。
请看以下的一段代码:
package com.fit.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;
public Test() {
super();
System.out.println("===========================");
}
public void destroy() {
System.out.println("对象被销毁!");
}
public void init() throws ServletException {
System.out.println("对象初始化!");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("get方法执行");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
System.out.println("服务开始启动了!");
super.service(arg0, arg1);
}
}运行效果如下: