Servlet&JSP随堂学习笔记

            为了赶java老师布置的大作业,表示这段视频没怎么好好的看,就是吧他们做的PPT上的知识点记了下来,为了以后自己回过头来还能在看看。

                                         Servlet&JSP随堂学习笔记
1.JSP本身就是一种Servlet。
2.Web服务器:很多的客户连接到主机山,读取或者操作上面的资源
3.常用的Web服务器:
    1.IIS
    2.Apache  Linux上面的服务器
    3.Tomcat  java写得,servlet&jsp的容器
4.通用的动态网页技术:
     CGI :C语言写得
     API常用的有 NSAPI,ISAPI
     ASP 已经被ASP.NET替代,一般运行在window上
     PHP
     JSP/Servlet
5.服务器的工作原理:
     有一台服务器,上面跑着一个Web 服务器,可以连接上这个服务器,从上面下载一些内容,进行解析
6.客户端访问web服务器时,只能静态的下载解析,servlet是服务器上得一个小java应用程序,响应处理客户端    
的请求
7.Servlet是服务器小应用程序
  用来完成B/S架构下,客户端请求的响应处理
平台独立,以线程方式运行
Servlet一般在容器中运行
8.常见的Servlet容器
   Tomcat
9.Tomcat的目录结构
bin/  二进制可执行文件和脚本程序 例如:启动和停止
common Tomcat本身和WEB应用可加载的类目录  
conf  配置文件目录,
logs 日志目录
server  服务器所需的类库目录,只能供服务器使用
shared    web app共享的类库,tomcat不能用
webapps   web应用所存放的目录applications
work   Tomcat的工作目录(存放jsp产生的class文件)
temp   存放临时产生的文件
10.Tomcat配置文件讲解
  conf/server.xml  服务器的主配置文件,经常改的地方,
    1.server启动的端口:                connectionTimeout="20000"
               redirectPort="8443" />8080这个端口号可以改动
  conf/web.xml   定义所有Web应用的配置 ,一般这个配置不随意改
  conf/tomcat-user.xml   定义了tomcat用户的信息    ,
    把tomcat-user.xml文件改成:


              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">




可以进行WEB应用程序的管理
11.Web Application的概念 创建一个WEB application,
  web application 是符合java ee标准的 ,java ee的标准是:
        WEB-INF 1.web.xml 是该web app的配置文件 2.lib 是该web app的配置文件  3.classes存放编译好的servelet
12.servlet程序要放到tomcat运行,然后配置tomcat。吧写好的servlet程序class文件放到apache-tomcat-5.5.17目录下的webapps
目录下test下WEB-INF下classes(没有这个文件需要自己创建)。然后在web.xml文件中定义,web.xml以前的内容保留,只是添加新的定义。
13.http无连接性:客户端从服务器拿下所需的内容后,假如拿下一个网页后,它们之间的连接就断掉了,scoket就close掉了。每个浏览器都有着自己独特
的编号。
1. 服务器可以向客户端写内容。
2.只能是文本内容
3.客户端可以阻止服务器写入
4.只能拿自己webapp写入的东西
5.Cookie分为两种:
   临时Cookie:存在窗口/子窗口
   存在文本
14.cookie保存到客户端的一个文本文件,与特定客户相关
15.cookie以“名-值”对的形式保存数据  cookie记录了浏览器内容前后的一个状态
16.Cookie记录一系列状态,在当前网页做了什么操作,在下一个网页依然能看的到
17.Session也是记录一些列状态,在当前网页做了什么操作,在下一个网页依然能看的到
18.Cookie跟Session的区别:Cookie记录的内容是再客户端的,Session记录的内容是在服务器端
19.当访问服务器时,浏览器会在服务器上开一个内存Session,与这个浏览器建立映射。http无连接性:
浏览器从服务器上取完内容就断掉了。
20.Session
    如果浏览器支持Cookie,创建Session的时候会吧SessionID保存到Cookie里
    如果浏览器不支持Cookie,必须自己编程使用URL重写的方式实现Session,此时需要用到函数:
        response.encodeURL(链接) 作用:1.转码   2.URL后面加入SessionId
      1.在某段时间一连串客户端与服务器端的“交易”
    2.Session两种实现方式:
        1.Cookie实现:每一个浏览器都有一个Session id号,与服务器上的Session相对应。浏览器上的Session id号存在临时Cookie中。浏览器允许cookie,session实现会依赖cookie   
        2.URL重写:就是将一些额外数据追加到表示会话的每个URL末尾,服务器在该标示符与其存储的有关的该会话的数据之间建立关联
21.可以通过程序来终止一个会话,如果客户端在一定时间内没有操作,服务器会自动终止会话。
22.通过HttpSession来读写Session,建立一个Session就是在服务器上分配一个内存
23.application是服务器上可以共享的内存,session内存只能对应一个客户端。application对应的这个类的名字叫ServletContext ,在一个web application上面可能跑着很多的servlet
24.bean:全称java bean。java是一种咖啡的名称,bena是豆。 组件:一系列的类组合在一起共同的对外服务。java bena广义的概念就是java的一个类
23.WEB上的概念以及原理
  1.原理3个: Cookie,Session,application
24.JSP的response隐藏对象在转换为Servlet之后,对应于HttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端请求之响应,您可以利用它来设定一些要响应的讯息
25.JSP Java Server Pages   就是一个servlet,直接在Html中内嵌JSP代码,JSP程序由JSP Engine先将它转换成Servlet代码,接着将它编译成类文件载入执行。只有当客户端第一次请求JSP
时,才需要将其转换,编译<%  java代码   %>
26.JSP性能优于 CGI,PHP,ASP
27.JSP编程基本语法分为4种
    1.JSP传统语法 Declaration声明  Scriptlet小程序端   Expression表达式  Comment注释  Directives指令  Action动作指令  内置对象
    2.JSTL
    3.JSF
    4.其他taglib(如struts)
28.JSP传统语法:
    1.Declaration 声明:<%  %>在此声明的变量,,方法都会被保留成唯一的一份,直到JSP程序停止执行
        声明变量1<%!加感叹号是成员变量,可以声明方法,相当于声明了servlet内部类的一个成员方法
            int accessCount = 0;
            void  m() {}
        %>
        声明变量2<%是局部变量,不能声明方法
                int accessCount2 = 0;
            %>
        <%= ++accessCount %>输出变量accessCount <%= %>表示输出
    2.Scriptlet 基本语法: <%程序代码区%> 里面可以放入任何的java程序代码 注释格式:<%--...--%> <%//..%> <%*..*/%>
    3.Expression基本语法: <%=...%>输出,相当于java 的out.println();在JSP中可以直接用session对象
    4.Directive(编译指令) 相当于在编译期间的命令 格式:<%@Directive 属性=“属性值”%> 常见的Directive:page  include  taglib
        1.指令page 指明与JSP Container的沟通方式,也就是当前页面的特点,这些方式重要的有4个:import 引入的java的类,java.util.*; errorPage="errorPageUrl",isErrorPage="true|false",contenType="contenTyepInfo"
        2.指令include将指定的JSP程序或者HTML文件包含进来 格式:<%@include file="fileURL%> JSP Engine会在JSP程序的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工作,编译期间就包含进来。不能向fileURL中传递参数 例如:不能是abc.jsp?user=aaa
        3.Action(动作指令)在运行期间的命令,常见的有:
            1.jsp:include/jsp.param  用于动态包含JSP程序或HTML文件等,除非这个指令会被执行到,否则它是不会被Tomat等jsp engine编译
                格式: 
                    
                        
                    

            2.jsp:forward/jsp:param 用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)由当前页面跳转到forward page="urlSpec"指定的页面
                格式:
                    
                    
                        
                    

                用于指定参数和对应的值
            3.jsp:useBean,可以在JSP中使用定义好的Bean. Bean的基本要素:
                                    1.必须要有一个不带参数的构造器。在JSP元素创建Bean时会调用空构造器】
                                    2.Bean类中得变量是private类型,变量名称首字母必须小写
                                    3.通过getter/setter方法来读/写变量的值,并且将对应的变量首字母改成大写
                                Bean基本用法:
                                    
                                    
                                    

                jsp:useBean各项参数含义: id:对象实例名称 scope:Bean作用的范围。class:Bean类名称 type:Bean实例类型,可以是本类,或其父类,或实现的借口,默认为本类
                Scope各项参数的含义:page仅覆盖使用JavaBean的页面,request有效范围仅限于使用JavaBean的请求。session有效范围在用户整个连接过程中(整个会话阶段均有效)application有效范围覆盖整个应用程序。也就是对整个网站均有效
            在JSP里面,Bean一般放在包里面,不能写成裸体类    
29.JSP的response隐藏对象在转换为Servlet之后,对应于HttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端请求之响应,您可以利用它来设定一些要响应的讯息
30.request这个对象不用事先声明,就可以在JSP网页中使用,在编译为Servlet之后,是有关于客户端所发出的请求的对象,只要是有关于客户端请求的信息,都可以藉由它来取得,例如请求标头、请求方法、请求参数、客户端IP,客户端浏览器等等信息
31.JSP的内置对象:
    out  向客户端输出一个内容,内置对象是一个缓冲的输出流,用来给客户端返回信息。它是javax.servlet.jsp.JspWriter的一个实例
        out常用方法:println():向客户端输出各种类型数据  newLine()输出一个换行符 close()关闭输出流 flush()输出缓冲区里的数据
                clearBuffer()清除缓冲区里的数据,同时把数据输出到客户端clear()清除缓冲区里的数据,但不把数据输出到客户端  getBufferSize()返回缓冲区的大小
    request  request内置对象表示的是调用JSP页面的请求。常用的方法:getMethod():返回客户端向服务器端传送数据的方法 getParameter(String paramName):返回客户端向服务器端传送的参数值,该参数由paramName指定
                                    getParameterNames()获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据  getParameterValues(String name):获得指定参数的所有值,由name指定
                                    getRequestURL()获得发出请求字符串的客户端地址 getRemoteAddr()获取客户端的IP地址  getRemoteHost()获取客户端机器名称  getServerName()获取服务器的名字
                                    getServletName()客户端所请求的脚本文件路径   getServerPort()获取服务器的端口
    response 表示的是返回给客户端的响应 是javax.servlethttp.HttpServletResponse接口的一个实例
         常用方法:
            addCookie(Cookie cookie):添加一个Cookie对象,用于在客户端保存特定的信息
            addHeader(String name,String value):添加HTTP头信息,该Header信息将发送到客户端
            containsHeader(String name):判断指定名字的HTTP文件头是否存在
            sendError(int):向客户端发送错误的信息
            sendRedirect(String url):重定向JSP文件 和的区别:sendRedirect通过客户端发起二次申请,不同的request对象    JSP forward是同一个request,在服务器内部转发
            setContentType(String contentType):设置MIME类型与编码方式
    Cookie  Http协议的无连接性要求出现一种保存C/S间状态的机制  cookie保存在客户端的一个文本文件 Cookie以名-值对的形式保存数据,通过getName和getValue的方式得到相应的名字和值
    Session <% @page session="true"%> 表示session功能已经在jsp页面中启动
            session的常用方法:
                void setAttribute(String name,Object value)
                Object getAttribute(String name)
                boolean isNew()
    application  
    response
    pageContext
    session
    application
    config
    exception
    page
32.Servlet和JSP的通信
    从JSP调用Servlet可用
    请求信息自动传递到Servlet,或者通过sendRedirect
    从Servlet调用JSP使用;
        RequestDispatcher接口的forward(req,res)方法
        请求信息需要显式传递(在req,res参数中)
        或者通过sendRedirect


你可能感兴趣的:(JAVA学习记)