JSP表达式<%= 表达式 %>里面表达式结尾不要加分号;声明:<%! 声明变量或者方法 %>
JSP页面发生更改,服务器都要重新编译JSP页面,并生成新的字节码文件和servelet文件
Work文档目录:把jsp页面生成的servelet文件存放在这个目录当中。
work目录中除了对JSP文件转换而成的字节码文件外,
生成的servelet文件,init初始化方法只会在第一次请求的时候调用,并长留与内存当中,由多线程调用service方法来处理客户其他请求。
生成的servelet文件,init初始化方法只会在第一次请求的时候调用,并长留与内存当中,由多线程调用service方法来处理客户其他请求。
实战:
九九乘法表
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%!//返回九九乘法表对应的html代码。通关过表达式来调用,在页面显示
String printMultiTable1(){
String s = "";
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
s+=i+"*"+j+"="+(i*j)+" ";
}
s+="<br>";//追加换行标签
}
return s;
}
//JSP内置 out对象,使用脚本方式打印九九乘法表
void printMultiTable2(JspWriter out)throws Exception{
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
out.println(i+"*"+j+"="+(i*j)+" ");
}
out.println("<br>");
}
}
%>
<h1>九九乘法表</h1>
<hr>
<%=printMultiTable1()%>
<br>
<% printMultiTable2(out);%>
</body>
</html>