JAVAWEB总结 小结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Jsp 页面构成元素,Jsp 跟 Html 的区别,优势
Jsp 定义: (Java Server Page)Java 服务器端语言,组成如下: 1, 静态模板:由 HTML,css,JavaScript 等元素构成。 2, 指令:设定网页元素的属性,用于提供这个歌 JSP 网页的相关信息。 3, 脚本元素--声明:<%!...%>,在此之中可以进行变量,常量的定义,类,方法都可 以声明,但是一般不用。 4, 脚本元素--Java 脚本:<%...%>,在此期间可以进行 Java 代码的拼写。 5, 脚本元素--表达式:<%= ..%>,用于表达式输出时使用。 6, 动作:利用 JSP 动作可以重用 JavaBean 组件,可以动态的包含页面,也可以进行 服务器端的跳转(即将用户的请求转发给其他的页面)。 7, 注释: --HTML 注释:<!---Jsp 注释:<%---Java 注释: 单行注释:// 多行注释:/*………*/ Jsp 优点:使用 HTML,CSS 等技术构建页面的模板部分,用 Java 语言根据用户的输入 动态生成可变的内容部分。既可以实现 HTML 控制页面布局,也亦可以实现 Servlet 的功能,实现了内容与表示分离。 -->,此种注释可以在页面中看到,成为客户端注释。 --%>,此种注释在页面中看不到,也成为服务器端注释。
Jsp 的常见指令,并说出静态包含和动态包含的区别
Page 指令:<%@ page language=”java” import=” 完整的包.类名称” autoFlush=”true[false]” errorPage=”文件名” isErrorPage=”false[true]” isThreadSafe(设置是否能多线程使用) contentType=”text/html;charset=ISO-8859-1” %> 包含指令:<%@ include file=”文件名”%> taglib 指令:此指令用于在 Jsp 页面中引入用户自定义的标签库。例如: <@% taglib url=http://java.sun.com/jsp/jstl/core prefix=”c”%> 静态包含跟动态包含的区别: <%@ include file=”文件名%>,此包含属于静态包含,是指先将文件包含进来然 后在进行编译,编译后生成的 class 文件中,被包含的文件在静态块中。且此种包含 不允许带参数。 <jsp: include page=”文件名”flush=”true”>此种包含属于动态包含,先解释 再包含进来结果, 即只有在客户端进行请求时才会被动态的编译载入, 在生成的 class 类中, 它被请求一次就被创建一次。 且此种被包含页面可以取得包含它的页面的参数。
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); } }运行效果如下:
Javascript 的作用:
1, 进行验证(通过正则表达式,在 css+HTML 的部分特性进行浏览器端的格式验证工 作) 2, 进行交互(将客户端的一个请求通过 JavaScript 可以发送到服务器端,也可以在 浏览器端进行人机的交互,突破了以前静态页面的交互性限制) 3, 进行特效的处理,如走马灯,时间时钟。
Servlet 的使用步骤:
1, 创建一个 JAVA 类,存放在 com.fit.servlet 包中,并且此类 extends HttpServlet 类,才能 成为一个 Servlet 2, 覆写 doGet()和 doPost()方法 3, 最后,在 web.xml 文件中进行 Servlet 配置。具体的配置如下: <servlet> <servlet-name>Servlet 类名</servlet-name> <servlet-class>完整的包.类名称</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet 类名</servlet-name> <url-partten>网页访问的名称,例如/hello</url-partten> </servlet-mapping>
=========================== 对象初始化! 服务开始启动了! get方法执行 2011-7-19 12:07:04 org.apache.catalina.core.StandardContext reload 信息: Reloading this Context has started 对象被销毁!
分析原因: 1,实例化对象发生在客户端请求第一次到达的时候,而不是类被加载的时候。 2,对象只被实例化一次. 3,如果 service()被覆写的话, 则调用的时候加入 super.service(arg0, arg1);这句话时候才可 以清楚的调用的 doXxx()方法,如果不加入此句话,那么将不会执行 doGet()方法。所以一般 不要覆写 service()方法。只需要覆写 doGet()和 doPost()方法。 4,当 web 服务器被卸载的时候,将执行 destroy()方法。进行对象的销毁!
源自文库
其 service 方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而 CGI 对每一 个请求都产生新的进程,服务完成后就销毁,所以效率低于 Servlet 作用:可以用来进行接收客户端的请求,也可以进行请求流的控制。
Http 协议: (了解)
首先它是(Hypertext Transfer Protocol)超文本传输协议。 HTTP 报文由从客户机到服务器的请求和从服务器到客户机的响应构成。 请求报文格式 如下: 请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体 请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。 应答报文格式如下: 状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体 状态码元由 3 位数字组成,表示请求是否被理解或被满足。原因分析是对原文的 状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户 机无需用来检查或显示语法。 工作流程: 一次 HTTP 操作称为一个事务,其工作过程可分为四步: 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP 的工作就开始 了。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识 符(URL)、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和可能的内 容。 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协 议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和 可能的内容。 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客 户 机与服务器断开连接。
Servlet 的 生 命 周 期 , 作 用 , 并 说 出 和 CGI ( Common Gateway Interface) 的区别
就是指 Servlet 从创建出实例对象到销毁的过程。它是一个容器,负责创建实例来接受客户 端的请求,并且以多线程的方式响应给客户。具体过程如下: Servlet 被服务器实例化之后,容器运行其 init 方法进行初始化,请求到达时运行其 service 方法,在此过程中仅创建一个对象,然后 service 方法自动调用与请求相应的 doXxx 方法, 当服务器决定将实例进行销毁时,再调用其 destroy 方法。 与 CGI(通用网关接口)的区别在于,Servlet 处于服务器进程中,它通过多线程的方式运行
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 具有优质的画面。
Jsp 常见的动作,
调用 JavaBean 相关: <jsp:useBean id=”对象名” class=”类名”scope=“范围属性”>,调用此 动作,可以用于实例化 JavaBean,或者定位一个已经存在的 JavaBean 的实例,并把 实例的引用赋给一个变量。 <jsp:getProperty <jsp:setProperty property=”属性名字”name=”对象”>,通过这个动作 proterty=”属性名字” name=”对象” value=”属性 proterty=”属性名字” name=”对象”param=”索引 可以取得 JavaBean 对象的属性 值”>或者<jsp:setProperty