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");

 

posted @ 2016-12-23 18:52  _奇点  阅读(479)  评论(0编辑  收藏  举报