zoukankan      html  css  js  c++  java
  • java 关于JSP的使用

       JSP编程

    1 jsp 进入   Java Server Pages

      Servlet作用: 用java语言开发动态资源(  java 流 )的技术.

      JSP 作用:用java语言开发动态(java 流)+静态资源(html)的技术

     

    2 JSP特征

      JSP 必须交个tomcat服务器解析

      JSP 可以写java代码和HTMl代码

     

    3 JSP 执行的过程

    1

    http://IP地址:端口号/项目名称/jsp文件

    2

    tomcat中扫描到index.jsp文件

    3

    tomcat将index.jsp文件解析为index_jsp.java 文件

    4

    tomcat的JDK将 index_jsp.java转换字节码 index_jsp.class文件

    5

    tomcat构造和初始化index_jsp对象,其实可以理解为servlet对象

    6

    tomcat调用index_jsp.class中的service方法

    7

    tomcat的service方式会通过输出流返回HTML代码到浏览器

    8

    浏览器接收HTML 并且解析成页面效果显示

     

    4 JSP生命周期

      1> 翻译 jsp--->java文件

    2 编译 java-->class文件(  servlet程序)

    3 构造方法(第一次访问)

    4 _jspInit方法 (第一次访问)

    5 _jspService方法

    6_jspDestory() 方法

     

     

     

     

       JSP语法

    1 JSP 模板

      JSP 页面中会自动添加HTML代码,该JSP是模板形式

    2  JSP表达式

    语法:<%=变量或者表达式%>

    作用:向浏览器输出变量或者表示式通过计算后的结果

      A 表达式的原理就是翻译成out.prin()流输出HTML/TEXT格式到页面。

      B 表达后面是不需要用分号结束的。

    3 JSP 脚本

       语法:<% java代码   %>

       作用:执行java代码

     

    4JSP声明

     语法:<% ! 变量或者方法 %>

     作用:声明变量和方法 后面JAVA程序可以调用

     

    5JSP注释

      语法:<%-- 注释--%>

     

    6 JSP 编译指令 编译前执行

    语法:<%@ %>

      1 include指令

       <%@ include file="top.jsp" %>  

       在编译成.class文件之前,键将top.jsp里面的所有代码拷贝到当前位置

     

      2 page指令

      语法 <%@  page  %>

      作用:告诉tomcat如何翻译当前jsp文件

       

    <%@ page 

    language="java"        --使用的语言

    import="java.util.*"   --需要导入的类

    pageEncoding="UTF-8"   --jsp编码方式

    contentType="text/html; charset=UTF-8" --tomcat将html流发送给浏览器的文件类型和编码方式

    errorPage="error.jsp"   --当前jsp页面解析错误的时候就会跳转到error.jsp去

    isErrorPage="false"  --当前页面是不是错误导向页面

     %>

     

     

     

     

     

    3 taglib指令

       语法<%taglib  %>

       作用:标签指令 用来解析标签效果

      <%@taglib  prefix="c"  uri="http://java.sun.com/jsp/jstl/core"  %>

     

     

     

    7 动作指令  编译后执行

      <jsp:动作   />

    <jsp:useBean>  用来实例化一个对象  对象名用id表示 class类路径

    <jsp:setProperty> 将一个对象中的属性赋值

    <jsp:getProperty>  取对象中属性的值

     <jsp:useBean id="s3" class="com.bw.bean.Student" ></jsp:useBean>

     <jsp:setProperty property="name" name="s3"  value="shunge"   />

     <jsp:getProperty property="name" name="s3"/>

    <jsp:forward>  转发到另外的页面    直接跳转到指定的页面

    <jsp:forward page="index.jsp"></jsp:forward>

    <jsp:include> 包含编译后另外一个页面的信息

      <jsp:forward page="index.jsp">

     <jsp:param  name="username"   value="god"  />

     <jsp:param  name="pwd"   value="123456"  />

     </jsp:forward>

    <jsp:par

     

       JSP 内置对象 

     

    九大内置对象

     

    jsp

    servlet

     

    对象名

    类型

    使用范围

    request

    HttpServletRequest

    请求 浏览器--->服务器

    response

    HttpServletResponse

    返回 服务器--->浏览器

    config

    ServletConfig

    用来获取web.xml中的信息

    application

    ServletContext

    整个项目中的全局信息

    exception

    Thrawable

    捕获异常 try/catch  throws

    page

    this

    当前对象,当前页面对象

    out

    JspWriter---->PrintWriter

    当前页面输出流

    pageContext

    PageContext

    当前页面的上下文,整个页面

    Session

    HttpSession

    会话  浏览器和服务器通讯

     

     

     

     

     

     

     

    1  out  对象  JspWriter 带缓冲的PrinterWriter  就是输出流   

     

      使用范围是当前页面,超出了当前页无效

     

    PrinterWriter    直接向浏览器输出内容

     

    JspWriter       向Jsp 缓冲区写内容

     

    out.print()

     

    out.println();

     

     

     

     

     

    2  pageContext 对象 当前页面的上下文     

     

       使用范围是当前页面,超出了当前页无效

     

    存值 pageContext.setAttribute("username","zhangsan");

    取值pageContext.getAttribute("username")

     

     

     

     

     

    3  page==this 对象 一般用在编译指令中 <%@ page   %>

     

     

     

    4  request 请求  浏览器到服务器

     

     

     

    当前请求存属性值

    request.setAttribute("name","godyang");

    当前请求取值

    request.getAttribute("name")

    请求传递参数

    <a href="b.jsp?name=shunshun">  b.jsp</a>

    或者

      <form  action="b.jsp"  method=post  >

       <input  type=text name="name" value="shunshun" />

       </form>

     

    取得请求参数的值

    request.getParameter(参数名);  request.getParameterValues(参数名)

     

    5 reponse  返回  服务器返回到浏览器

     

     

     

    获取返回流

    PrintWriter out = response.getWriter();

    返回内容形式

    response.setContentType("text/html");

    返回的编码

    response.setCharacterEncoding("UTF-8");

    页面重定向

    response.sendRedirect("index.jsp");

    浏览器端保存cookie对象

    response.addCookie()

     

     

     

     

     

     

     

    6 session 会话  浏览器和服务器通讯    当浏览器关闭的时候会话结束

     

    当浏览器第一访问服务器的时候就会产生一个会话

     

    保存会话信息

     session.setAttribute("uname","abc");

    获取会话信息

     session.getAttribute("uname");

     

     

     

     

     

    7 application 应用   tomcat启动的时候整个项目就是一个应用

     

       当把值存入应用中,只有当tomcat关闭的时候才销毁

     

     

     

    保存应用信息

    application.setAttribute("app","appInfo");

    获取应用信息

     application.getAttribute("app");

     

  • 相关阅读:
    有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不 死,问每个月的兔子总数为多少?
    Tomcat 全攻略
    MySQL 查询in操作,查询结果按in集合顺序显示
    乱码问题解决之道
    Java程序员面试中的多线程问题
    APACHE多个服务器的配置
    Python读写文件
    php字符串处理函数大全
    python 执行系统命令
    jquery-mobile
  • 原文地址:https://www.cnblogs.com/qi-dian/p/6215867.html
Copyright © 2011-2022 走看看