jsp学习一
1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9 <head> 10 <base href="<%=basePath%>"> 11 12 <title>Xiaoheng's JSP starting page</title> 13 <meta http-equiv="pragma" content="no-cache"> 14 <meta http-equiv="cache-control" content="no-cache"> 15 <meta http-equiv="expires" content="0"> 16 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 17 <meta http-equiv="description" content="This is my page"> 18 <!-- 19 <link rel="stylesheet" type="text/css" href="styles.css"> 20 --> 21 </head> 22 <%! 23 private int count = 0; 24 public int getCount() 25 { 26 count ++ ; 27 return count; 28 } 29 %> 30 <body> 31 <% 32 out.println("the value of count is: " + getCount()); 33 %> 34 35 </body> 36 </html>
<base href=””>
<base>是一个链接基准标记,用以改变文件中所有链接标记的参数默认值,它只能适应于文件的开头部分,即标记<head>与</head>之间
<meat http-equiv="Content-Type" content="text/html;charset=UTF-8">
Meta是元标签,其中包含了html的相关信息,客户端浏览器或服务端的程序会根据这些信息进行处理,http-equiv类似于http的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容
Content(内容类型):重要,这个网页的格式是文本的,网页模式
Charset(编码):特别重要,这个网页的编码是utf-8,中文编码,需要注意的是这个是网页内容的编码,而不是文件本身的,其它类型的编码中文可能出现乱码。
out.println()输出到客户端
在out.println()中,out是response的实例,是以response为对象进行流输出的,即将内容输出到客户端。
如果在jsp页面中使用System.out.println(),在客户端中智慧输出一个空格。
System.out.println()打印在控制台中
System.out.println()用的是标准输出流,这个是输出在控制台上的,而jsp不是控制台程序,不管是在jsp还是
java程序中,System.out.println()都是打印在控制台上。
Java中<%!%>和<% %>的区别
jsp都是将其解析成java文件
具体代码请看
如果你写<%int a=1;%>
public class xxx_jsp{
public void doProcess()
{
int a=1;//这是你在jsp的代码
}
}
如果你写<%!int a=1%>
public class xxx_jsp{
int a=1;//这是你在jsp的代码
public void doProcess()
{
}
}
<%! %>是jsp中嵌入的java 声明。
用于声明脚本语言变量或方法。
而<% %>是jsp种嵌入的java 脚本代码片段。
最主要的区别是jsp文件在编译成java时他们的构造时间不一样。
先构建声明块,然后是jsp的page、request等内建对象,然后
才是java代码块。所以<%! %>中不可以使用JSP内建对象,
而<% %>中的代码可以使用jsp的page、request等内建对象。
<%= %>只能得到当前面定义的值
即你在这个页里有<% int a=100%>
你在下面才可以使用<%=a%>