1、          所有的程序都是在服务器端执行,不是在客户端执行,执行完后将执行的结果返回给客户端。也就是将一些静态的东西发送给客户端。执行jsp文件时,服务器将会把jsp转换为servlet,然后编译为.class文件,例如hello.jsp,将会变为hello_jsp.java,然后转换为class文件,所以说jsp文件从本质上来说就是servelet。

处理过程:

 

Jsp语法:

2、          编译器指令,包含在<%@ %>中,两个主要的指令是page与include

例如:<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%>

3、          jsp注释<%--注释信息--%>不会发送给客户端,是一个隐藏注释。

而html注释<!—注释信息-->会在源代码中显示

4、          在<%java代码%>中编写java代码。

5、         Jsp声明格式

<%!声明;[声明;]……%>例如:<%! int i=0;%>,<%! int a,b,c;%>

6、          在下面地址查看jsp所在文件的源代码:

E:\apache-tomcat-6.0.32\work\Catalina\localhost\test\org\apache\jsp

7、          比较jsp声明<%! int a=3;%>与 脚本段<% int b=3;%>的区别

在jsp写完这两段代码后,在生成相应的java文件后,a将变为成员变量,b将变为方法中的局部变量,改变a的值将在下次访问时改变,而b的值将不会发生变化。

8、          表达式:<%=表达式%>,等价于out.print();

<%String  msg=”Hello  world”%> <%=msg%>

9、         脚本段

<%任何符合java语法的代码%>

10、    包含指令

<%@include file=”文件绝对或相对路径”%>

11、     Page指令

12、     taglib指令

13、     <jsp:forward>页面跳转,跳转后将不会执行本页面后面的代码。例如<jsp:forward  page=””><jsp:param  name=”” value=””>

14、     <jsp:include>包含一个静态或动态文件,与上面的包含命令不同的是,它 还可以向被包含的页面发送参数,使用<jsp:param>

例如:<jsp:include  page=””><jsp:param  name=”” value=””>

15、<jsp:useBean>用来声明javaBean对象。

Jsp内置对象:

 

常用的内置对象:request、session、application

request: ,常用的方法:getParameter、

getParameterNames(获得请求参数的名字,返回Enumeration)      、getParameterValues(返回一个字符串数组,常用的有checkbox)

getParameter是getParameterValues方法的一个特例,表示请求参数值只有一个,如果请求参数的值有多个,请用getParameterValues方法,例如多选框。

session:保存用户状态信息         setAttribute、getAttribute

application:

重要方法:getRealPath:返回资源在服务器上的绝对路径。