中南大学软件学院Java WEB 考点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、HTTP协议请求报文以及响应报文2、JAVASocket编程Socket以及ServerSocket3、WEB服务器概念Tomcat服务器目录结构和基本配置server.xml文件4、什么是Servlet?怎样实现一个自定义Servlet?5、Servlet基本配置6、ServletAPI包括HttpServlet、HttpServletRequest、HttpServletResponse、ServletConfig、ServletContext7、service方法以及doGet和doPost方法8、servlet生命周期9、怎样获取网页提交的参数?10、会话HttpSession和Cookie11、调用一个已定义好的Servlet有哪些方式12、表单提交数据到Servlet中文乱码处理13、客户端页面向服务端servlet传递参数有哪些方式14、JSP的运行原理以及基本语法15、JSP隐式对象16、JavaScript基本语法17、JavaScript中的对象18、JavaScript与AJAX19、基于对象的Javascript以及继承的实现客户端/服务器的优势在于:服务器和客户端分摊任务,分别负责部分处理工作;服务器可以同时为多台客户端服务;多个客户端可以同时访问服务器上的相同数据。IP网络ID:网络ID标识了计算机或网络设备所在的网段;主机ID:主机ID标识了特定的主机或网络设备特殊IP地址:0.0.0.0和127.0.0.1就是两个此类地址,第一个称为缺省路由,后一个是环回地址;127.0.0.1被保留用于用户主机的本地IP话务,它被分配给一个特殊接口,即起到闭合电路作用的环回接口端口端口使用一个16位的数字来表示,它的范围是0~65535,1024以下的端口号保留给预定义的服务,如:http使用80端口;java.net包java.net包可以实现Java的网络功能,InetAddress:InetAddressgetByName(Stringhost)在给定主机名的情况下确定主机的IP地址注:host可以是主机名IP地址或者域名InetAddressgetLocalHost()返回本地主机的InetAddress对象InetAddress[]getAllByName(Stringhost)在给定主机名的情况下,根据系统上配置的名称服务返回其IP地址所组成的数组可能一个主机名对应多个服务器(负载均衡)JAVASocket编程socket用于描述IP地址和端口,应用程序通过套接字向网络发出请求或者应答网络请求;套接字会因为网络的连接中断而失效,所以对它的操作都有可能抛出IOExceptionSocket以及ServerSocket客户端流程:向服务端请求,获取输入输出流,进行收发数据,关闭io流,关闭套接字服务器流程:创建套接字,获得客户端请求,获得输入输出流,收发信息,关闭io流,关闭套接字包装以提高效率(用BufferedReader包装输入流,用PrintWriter包装输出流)BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));PrintWriter(OutputStreamout,booleanautoFlush)利用现有的OutputStream构造格式打印流,由参数autoFlush指定是否带自动刷新缓存的功能进程与线程的区别进程是指系统中正在运行中的应用程序,它拥有自己独立的内存空间;线程是指进程中一个执行流程,一个进程中允许同时启动多个线程,他们分别执行不同的任务;线程与进程的主要区别在于:每个进程都需要操作系统为其分配独立的内存地址空间,而同一进程中的所有线程在同一块地址空间中,这些线程可以共享数据,因此线程间的通信比较简单,消耗的系统开销也相对较小。在Java中实现线程有两种方式,分别是:扩展java.lang.Thread类实现java.lang.Runnable接口线程start()调用run()方法,重写的是run()线程生命周期线程状态:新建状态(New):使用new关键字创建线程对象,仅仅被分配了内存;就绪状态(Ready):线程对象被创建后,等待它的start方法被调用,以获得CPU的使用权;运行状态(Running):执行run方法,此时的线程的对象正占用CPU;睡眠状态(Sleeping):调用sleep方法,线程被暂停,睡眠时间结束后,线程回到就绪状态,睡眠状态的线程不占用CPU;死亡状态(Dead):run方法执行完毕后,线程进入死亡状态;阻塞状态(Blocked):线程由于某些事件(如等待键盘输入)放弃CPU,暂停运行,直到线程重新进入就绪状态,才有机会转到运行状态;Yield()和join()的不同HTTP协议HTTP(HyperTextTransferProtocol)协议即超文本传输协议,是基于网络应用层的协议,它建立在TCP/IP协议的基础上;该协议使用可靠的TCP连接,默认端口是80;HTTP协议基于客户端/服务器模式,客户端主动发出HTTP请求,服务器接收HTTP请求,返回HTTP响应结果。HTTP协议是指超文本传输协议,专门用于在Internet上传输信息的协议,目前的版本是1.1;HTTP是应用层的协议,它基于请求/响应模式;HTTP协议默认使用80端口进行通讯;HTTP协议是无状态的的协议。请求报文实例:请求报文是指客户端浏览器向网络服务器请求页面时,发送到服务器端的字符串,必须符合HTTP协议的格式要求,它可能包含如下组成部分:GET/index.htmlHTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,…,*/*Accept-Language:zh-cnUA-CPU:x86Accept-Encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)Host::Keep-Alive空行请求报文中的大部分项目是可选的,只有GET和Host部分是必需的;GET部分的格式是:GET空格/[请求的URL]空格HTTP/协议版本号如:GET/index.htmlHTTP/1.1Host部分的格式是:Host:空格服务器域名或IP地址:端口号如:Host:换言之,请求报文中只要包含以上两部分,就可以向网络站点服务器请求到页面。//拼凑请求报文StringstrHttp=GET/HTTP/1.1\r\n;strHttp+=Host:+hostName+:+WEB_PORT+\r\n;响应报文实例:响应报文是指网络服务器收到来自客户端的请求后,发回到客户端的字符串,它用来告诉客服端:服务器已经接受请求,随后跟随的是被请求的网页内容;响应报文可能包含如下组成部分:HTTP/1.1200OKDate:Sat,11Aug200711:58:37GMTServer:Apache/1.3.37(Unix)Accept-Ranges:bytesContent-Length:11503Content-Type:text/html空行响应报文中也有两部分是必需的:HTTP/协议版本号空格状态码空格OK状态码是一个3位整数,用来表示不同的状态,200表示响应成功,如:HTTP/1.1200OK状态码的具体描述请参阅本课件最后的附表。Content-Type:空格text/html;空格charset=字符集编码用来描述服务器发回响应的文件类型以及字符集编码,text/html说明是文本文件或超文本文件,如:Content-Type:text/html;charset=GB2312模拟:out.println(Http/1.1200OK);out.println(Content-Type:text/html;charset=GB2312);状态码:Web应用的优势相对于传统的C/S结构(Client客户端/Server服务器)的应用程序而言,B/S结构的Web应用程序具备以下优势:集中部署,无需安装客户端程序;集中管理,业务逻辑在服务端进行维护;数据共享,所有客户端访问同一服务器的数据;覆盖面广,只要有Internet覆盖的区域都可通过浏览器享受服务;更强的平台无关性,不必关心客户端的软硬件平台,只要遵循HTTP协议,都可获得支持。WEB服务器概念Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamicresponse)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServerPages)脚本,servlets,ASP(ActiveServerPages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。Tomcat服务器目录结构和基本配置server.xml文件博客环境变量的设置:首先添加TOMCAT_HOME的环境变量,值为d:\ProgramFiles\tomcat7。添加CATALINA_HOME环境变量,值为%TOMCAT_HOME%,添加CATALINA_BASE环境变量,值为%TOMCAT_HOME%。Tomcat是以面向对象的方式运作的;在执行期间,它会基于配置文件的设定动态地组建其对象结构。Server.xml文件中的每个主要元素都会创建软件“对象”、排序及进程管道中设置的这些元素嵌套方,让您能执行过滤、分组等工作。什么是Servlet?怎样实现一个自定义Servlet?Servlet是用Java语言编写的程序,它运行在Web服务器上,用以处理来自客户端的请求;它一般会把处理的结果以为HTML的形式返回,在客户端形成动态网页Servlet的优点Servlet运行在Web服务器中,可以扩展服务器的功能;Servlet可以和其他资源交互,从而生成返回给客户端响应的内容,即动态网页;使用Java编写,所以能够跨平台;Java的所有优点都可以在Servlet中体现;Servlet很安全,因为访问Servlet的唯一途径是通过服务器;只要符合Servlet规范的Servlet容器都可以运行Servlet。自定义servlet一个类继承HttpServlet,重写doGet()和doPost()方法,如果需要看到创建和销毁的过程,可以重写init()和destroy()方法。Servlet基本配置在web.xml中加入servlet的配置:servletservlet-nameLoginServlet/servlet-nameservlet-classcom.tkclm.servlet.LoginServlet/servlet-class/servletservlet-mappingservlet-nameLoginServlet/servlet-nameurl-pattern/login/url-pattern/servlet-mapping将action与class对应起来ServletAPI包括Http

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功