JSP学习笔记(一)

一.JSP基础语法:

<%!变量/方法%>

定义全局变量(Java支持的类型)和全局方法,解析器将其解析为类属性和静态的类方法,在整个jsp页面都有效。在方法内部声明的变量只在该方法被调用时才有效。

example1:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! int i=0;int y=1; %>

<%i++; %>

<p>你是<%=i %>个访问本站的用户

</body>

</html>



example2:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! double add(double x,double y)

{

return x+y;

}

double multi(double x,double y)

{

return x-y;

}

%>

<% 

double x=32;

double y=34;

out.println(x+"+"+y+"="+"<br>");

out.println(add(x,y));

%>

</body>

</html>

<%java程序片%>程序片

在程序片中生命的变量jsp引擎将其解析为类的某个方法的变量即局部变量,java程序片会被按顺序执行;

用户每请求一次,jsp引擎就会为每个用户生成一个线程,对于jsp页面的全局变量各个线程共享,任何一个线程对数据的修改都会影响其他线程。

运行在不同线程的同一Java程序片不受其他线程的影响。

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! 

int syn_count=0;

%>

<% 

int ju_count=0;

out.println("count:"+syn_count++);

out.println("ju_count:"+ju_count++);

%>

</body>

</html>


Java表达式<%=java表达式%>

Tomcat引擎将java表达式结果转换成字符串的形式,因此编写JSP页面时将表达式看做普通文本;

example:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%! 

int x=12;int y=9;

%>

计算机表达式x+y,即<%=x %>+<%=y %>的值:

<%=x+y %>

<br />计算表达式 sin(x+y)的值,即:sin(<%=x+y %>)的值:

<%=Math.sin(x+y)%>

<% 

%>

</body>

</html>


jsp的注释:

HTML注释:<!--注释内容-->

JSP注释:<%--注释内容--%>


Page指令标记:

形式:<% @page 属性1=“属性值” 属性2=“属性值”....%>

或者:

<% @page 属性1=“属性值"%>

<%@ page 属性2=”属性值"%>

属性取值:contentType:

  文件类型 说明

application/msword     doc dot Microsoft Word2003

application/vnd.ms-excel xls Microsoft Excel2003

application/vnd.ms-powerpoint ppt Microsoft Powerpoint

application/pdf pdf Adobe Acrobat

application/octet-stream bin exe so dll class 可执行程序

application/zip zip winzip

application/x-gzip gz gzip

image/gif gif GIF图像

image/jpeg jpg jpeg jpe JPEG图像

image/png png PNG图像

text/html html jsp 网页文档

text/plain txt 文本文档

text/xml xml XML文档

text/json json JSON字符串

language属性:<% @ page language="java" %>目前只能取java


import属性:

默认已有:Java.lang.*;javax.servlet.*;java.servlet.jsp.*;javax.servlet.http.*;

形式:<% @ page import="java.util.*" %>

<% @ page import="java.io.*" %>

buffer属性:指定缓冲区的大小

isThreadSafe:设置是否允许多线程,默认为true

session:设置是否使用内置session,默认为true

autoFlush:设置缓冲区被填满是是否自动刷新默认为true

info:设置一个JSP页面常用的字符串,可用:getServletInfo()取得:

example:

<%@ page language="java" contentType="text/html;charset=utf-8" %>

<%@ page buffer="1MB" autoFlush="true" isThreadSafe="true" info="jsp 练习" session="true"  %>

<%@ page import="java.lang.*" %>

<%@ page import="javax.servlet.*" %>

<%@ page import="javax.servlet.jsp.*" %>

<%@ page import="javax.servlet.http.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

<%--注释1 --%>

</body>

</html>


你可能感兴趣的:(java,用户,title)