JSP初学笔记(一)

1、什么是Web应用程序

     Web应用程序是一种通过Web访问的应用程序。Web应用程序一个最大优点就是用户很容易访问。用户只需要有浏览器即可,不需要再安装其他软件。Web开发是目前软件开发领域的三大方向之一。(桌面应用程序,Web应用程序,嵌入式应用程序)

2、静态页面与动态页面

    静态网页 
        表现形式:网页内容固定,不会更新。 
        所需技术:HTML,CSS 
    动态网页 
       表现形式:网页中的内容通过程序动态的显示,自动更新,能与用户进行交互(比如登录输入正确用户名和密码时,系统提示登录成功) 
       所需技术:HTML,CSS,数据库技术,至少一门高级语言(Java,C#,Php),Javascript,XML等。主流的动态网页脚本技术(Jsp/Asp.net/Php)

3、修改Tomcat默认端口号

    tomcat安装目录–>conf–>server.xml

4、Jsp简介

    JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,他实现了在Java当中使用HTML标签。Jsp是一种动态网页技术标准也是JAVAEE的标准。JSP与Servlet一样,是在服务端执行的。

5、jsp运行原理

第一次访问jsp或修改后访问jsp

A) 将jsp翻译成java文件

B) 将java文件编译成class文件

C) 通过反射创建对象

D) 执行init方法

E) 执行Service方法

正常访问jsp(非第一次或没有修改)

E ) 只执行Service方法

6、jsp语法

    JSP模版元素

        Html标签

    JSP表达式

        <%=表达式 %> <==> out.print(表达式);  //<%=表达式; %> 加分号错误

        注:内容会输出到浏览器

    JSP脚本片断

        <% java代码 %>  不能有输出语句(服务器没有控制台)

        翻译成java代码后,在_JspService()中

       脚本片段中不能写方法

    JSP声明

        <%!  %>

        翻译成java代码后,在_JspService()外

        声明的变量是成员变量,声明的方法是成员方法。

    JSP注释

        <%--  --%>不能使用html注释

    JSP指令

        <%@ 指令 属性名="值" %>

 

        #include指令 静态包含

        作用:include指令用于引入其它JSP页面

        语法:<%@ include file="relativeURL"%2

 

        #page指令

        作用:page指令用于定义JSP页面的各种属性

        language="java"//告诉服务器以哪种语言翻译文件

        import="{package.class | package.*}, ..."  

        //导入程序包 多个包用“,”隔开。

        session="true | false" //是否支持内置对象session

        buffer="none | 8kb | sizekb"//缓存大小,默认8KB

        autoFlush="true | false"

        isThreadSafe="true | false"

        info="text"

        errorPage="relative_url"//指定一个错误页面

        isErrorPage="true | false"

        //指定当前页面为错误页面 能使用exception

        contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1"

        pageEncoding="characterSet | ISO-8859-1"

        isELIgnored="true | false" //是否支持EL表达式

7、JSP内置对象

    名称 数据类型

        request HttpServletRequest

        response HttpServletResponse

        session HttpSession

        application ServletContext

        config   ServletConfig

        exception(特殊情况下使用 page指令中有 isErrorPage="true")

        page    this(本JSP页面)

        out      JspWriter(带缓冲的PrintWriter)

        pageContext(使普通Java类可访问WEB资源,自定义标签常用)

 

    #out内置对象的特点

        将内容存在缓存数组中

         写出到文件的条件:

        1). 调用刷新方法时

        2). 关闭流对象时

        3). 内存满了

        4). 程序执行完(_JspService())

 

    #pageContext

        作用1. 用来获取其他内置对象

        作用2. 域对象:作用域为当前jsp页面

        设置方法:

        //默认域对象方法(pageContext)

        pageContext.setAttribute("message", "pageContext message");

        //指定域对象方法

        pageContext.setAttribute("message", "request message", pageContext.REQUEST_SCOPE);

 

    获取方法:

        //默认域对象方法(pageContext)

        pageContext.getAttribute("message")

        //指定域对象方法

        pageContext.getAttribute("message",pageContext.REQUEST_SCOPE)

        //搜索方法

        pageContext.findAttribute("message")

        优先级

        pageContext>request>session>application

 

    四大域对象:

        pageContext:作用于当前jsp页面

        Request:相同的请求中有效(转发中使用)

        Session:同一会话中有效(保存用户私有信息)

        Application:同一web应用中有效(全局)

8、EL表达式

    语法:

        ${ 域对象中保存的key }

    #获取数据

        1). 获取非对象

        pageContext.setAttribute("name", "tom");

        ${name }

        ${name }<==>pageContext.findAttribute("name")

 

        2). 获取对象

        Person p = new Person("tom",21);

        pageContext.setAttribute("person", p);

       

       

        <%-- name=${person.name1 },age=${person.age } --%>

9、后续学习

    还需要将EL表达式中的获取集合中对象和 获取map集合中的对象学习完成,然后完成教学视频中的小demo

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