首页 > 代码库 > jsp之jsp基础

jsp之jsp基础

1、 Jsp生命周期

客户端第一次请求-》web容器把jsp文件转译为servlet源文件(java)-》编译为class文件-》载入class文件生成servlet对象

2、 Jsp转译的servlet

可重写的方法jspInit、jspDestroy

3、 指示元素

page

<%@ page pageEncoding="gb2312" contentType="text/html; charset=utf-8" %>

pageEncoding指定生成的servlet源文件采用的编码方式

contentType 相当于response的setContenttype

默认情况下pageEndoing使用的编码,就是做为charset的编码

 

taglib 见标签

 

Include

包含文件,只生成一个servlet文件,传不了参数

<%@include file="地址" %>

4、 声明

<%! %>定义为jsp类实例成员或方法

<% %> 定义局部变量或其他代码段

5、 隐式对象 隐式对象都是局部对象

request,response,session,

application(servletContext),

page(this),

exception(只能在设置了<%@page isErrorPage="true" %>才能使用) ,

out(JspWriter,内部关联一个PrintWriter),

pageContext(jsp页面的资源都放在这个对象上),

config(servletConfig)

6、 标准标签

1)包含其他文件,每个文件生成各自的servlet对象,跟指示标签的include的最大区别

<jsp:include page="地址">  

  <jsp:param value="http://www.mamicode.com/变量" name="值"/>  ...

</jsp:include>

2)转发到另一个页面

<jsp:forward page="">  

  <jsp:param value="http://www.mamicode.com/变量" name="值"/>  ...

</jsp:forward>

3)使用javabean

<jsp:useBean id="javabean名" class="类" scope="范围"></jsp:useBean>(scopel默认为page)

<jsp:setProperty value="http://www.mamicode.com/值" property="属性名" name="javabean名"/>(如果property为*,则自动从请求参数中找相应的参数名和参数值,不用value属性)

<jsp:setProperty property="属性" param="请求参数名" name="javabean名"/>(把请求的参数值绑定到相应的属性上,也可<jsp:setProperty property="属性" name="javabean名"/>)

<jsp:getProperty property="属性名" name="javabean名"/>

也可以合并起来写,但合并起来,如果找到了对象,直接使用不再设置属性。

<jsp:useBean id="javabean名" class="类" scope="范围">  

  <jsp:setProperty property="属性名" value="http://www.mamicode.com/值" name="javabean名"/>

</jsp:useBean>