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:返回资源在服务器上的绝对路径。