版权声明: https://blog.csdn.net/baidu_41671472/article/details/81947712
jsp程序是java为了适应web开发而扩展的一种程序形式,是java程序针对web开发进行的简化。
用户通过浏览器向服务器发送指定页面的请求,接下来web服务器读取jsp文件,jsp文件会被转换为一个普通java文件,java文件进行编译,得到一个class文件,web服务器装在解释执行class文件,并将执行结果响应至客户端。tomcat把为每个jsp页面创建的java文件和class 文件,放在安装目录下的 \work\Catalina\localhost\同名文件夹内。
jsp声明语法:
<%!
String str = "hello world";
String getStr(){
return "hello world2";
}
%>
声明必须再”<%!” 和 “%>” 之间进行。声明部分只能定义成员方法(函数)和成员变量,不能直接包含程序域。这里定义了一个str变量
在jsp文件中使用, 例:
<hr>// <hr> 是分割线的意思
<% out.println(this.str) %>//通过this 的方法调用变量或者方法(函数)
<hr>
<% = this.getStr()%>//注意加了一个“=”
jsp程序脚本:
包括变量的声明,表达式和程序逻辑
声明的变量转换为_service 方法中的变量,因而是局部变量
语句块可以自由的与页面代码组合使用
<% int i = 100; %>// 这里的 i 是脚本变量 上面的 加了 “!”的是成员变量
<% if (i > 10)
{ %>
<h1>i > 10 </h1>
<% }
else
{ %>
<h1> i <= 10 </h1>
<% } %> // 这里就是 java 和 jsp 的交叉写法。当然而可以直接用out.prinln
但是正常网页中,显示的不会是单调的黑字输出,而是有样式的输出。
从下面的例子中可以看出 脚本变量
与 成员变量
的区别:
<!% int global = 0 %>
<% int test = 0
global ++;
test ++;
%>
<%
out.println(global);
out.println("<br>");
out.printlin(test);
%>
将其在加载到eclipse的工程中,然后不断刷新页面,会发现global的值会每次刷新都“+1”,但是test的值总是从0 加到 1。
就像是全局变量
与局部变量
的区别。
jsp注释:
语法格式:
<%--你要注释的内容--%>
有点像html 的注释写法,就是多了两个%。
但是,jsp既然嵌套了java语言,那么java的注释写法依然是可用的。
“//” 单行注释
“/* */”多行注释
java注释一般多用于 "<%%>" 中的内容
jsp内容输出表达式
语法格式:
<% = 输出的变量名 %>
例如:
<% int i = 10 %>
i 的值是 :<% = i %>
当然你也可以直接用 <% out.println(i) %>,但是嘛 写得多还不好控制格式
jsp包引入语法
语法格式:
<% @ page import = "java.util.Date" %> // 引入一个 java.util.Date 的包
<% @ page import = "java.io.*" %> //一次进入多个 java.io. 的包
<% @ page import = "java.util.Date, java.io.* "%> //一次引入多个包,用逗号隔开。