Jsp入门

Jsp入门

Jsp原理图

 

当jsp页面第一次被请求执行时,tomcat将启动一个线程,该线程将jsp文件转换成java文件,再将.java文件转换成.class文件,然后执行,.class文件响应客户请求

当该jsp页面再次被执行时,将直接执行字节码文件

成员变量与成员方法

<%!  %>:在翻译的servlet中定义全局变量与成员方法

<%=  %>:jsp输出out.print

<%  %>:代码段可以定义变量不能定义方法,实际上是定义在jspservice中的局部每一次请求都会调用,可以写流程控制

Synchronized关键字

为了防止多个用户同时操作一个成员变量,可以对操作该变量的方法加锁

Jsp注释(3)

1.html注释<!--  -->

会被输出在html源代码中 一般用于html标签

2.Java注释 单行注释多行注释

一般用于jsp实名中java代码

会被翻译在java文件中,不会出现在html代码中

3.jsp注释只能在jsp源代码文件中看到,不会出现java类和html

<%--  --%>一般用于注释jsp

表单标记

客户使用HTML标记中的表单标记来提交数据。

表单的一般格式为:

<FORM METHOD=GET|POST ACTION="目的页面" NAME="表单名字">

数据提交手段

</FORM>

 

method 可取值 getpost,区别是:

get 方法提交的信息显示在浏览器的地址栏中。

post 方法提交的信息不会显示在地址栏中。

提交手段有:

文本框、下拉列表、文本区等。

<input>标记

input 标记来指定表单中数据的输入方式以及表单的提交键,基本格式为:

<INPUT TYPE=“输入对象的类型” NAME=“名字”>

四大作用域对象

拥有setAttributgetAttribute的对象统称为作用域对象

Request:一次请求 响应完成作用域 一次请求中

Session:一次回话 回话超时之前都存在

Application(servletContext)服务启动后数据一直保留直动重启和关闭

pageContext:页面上下文,所有页面相关的对象独有它管理和创建它共享的数据只能在当前页面

Page对象

Page对象就是指向当前jsp页面本身,类似类中的this指针他是Java.lang.object类的实例

 jsp转译Servlet路径查看tomcat目录\work\Catalina\localhost\上下文名\org\apache\jsp

 

<%@ page import="java.util.*,java.lang.reflect.*“ %>

<%!

     int i=5;

   %>

<%

//错误的写法 page.i

Field f=page.getClass().getDeclaredField("i");

   f.setAccessible(true);

   Object o=f.get(page);

 %>

 <%=o %>


 pageContext对象

pageContext属性默认在当前页面是共享的

pageContext表示一个javax.servlet.jsp.PageContext对象。

pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的session,也可以取本页面所在的application的某一属性值

pageContext方法

 

Session对象

session中的属性在当前session中是共享的

session表示一个请求的javax.servlet.http.HttpSession对象。指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。

Session常用方法

 

application对象

applicaton表示一个javax.servlet.ServletContext对象。

他实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。

服务器的启动和关闭决定了application对象的生命。

application常用方法

 

config对象

config表示一个javax.servlet.ServletConfig对象

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)

Config webxml配置

<servlet>

<servlet-name>fileServlet</servlet-name>

<jsp-file>/config/config.jsp</jsp-file>

<init-param>

<param-name>filePath</param-name>

<param-value>c:/test</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>fileServlet</servlet-name>

<url-pattern>/file</url-pattern>

</servlet-mapping>


exception对象

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。

如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象。

主页面配置

配置errorPage 出现异常自动进入showError.jsp

<%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8” errorPage=“showError.jsp” %>

假定出现异常

   <%

    int j=5/0;

     %>

showError.jsp

配置显示错误页面 必须配置属性isErrorPage="true“

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"  isErrorPage="true“ %>

 出现错误了;错误内容是:<%=exception.getMessage() %><br/>

 输出异常信息

    <%@page import="java.io.PrintWriter"%>

    <%@page import="java.io.ByteArrayOutputStream"%>

    <%@page import="java.io.PrintStream"%>

    <%

    ByteArrayOutputStream baos=new ByteArrayOutputStream();

    PrintStream ps=new PrintStream(baos);

    exception.printStackTrace(ps); %>

    

<%=new String(baos.toByteArray()) %>

 

pageEncoding=”编码” ,jsp在翻译成servlet的java文件,设置java文件编码

contextType=”text/html”;charset=”UTF-8”响应时响应给浏览器编码,没有设置

contentType默认值text/html;charset=”%pageEncoding%”


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值