java web 开发实战经典(一)

一、jsp三种Scriptlet(脚本小程序)

1、<% %>  :定义局部变量、编写语句等。

<%
String str = "hello world!";//定义局部变量
out.println(str);//编写语句
%>

2、<%! %>  :定义全局变量、方法和类。(虽然此方可以编写类,但不建议使用。我们一般通过JavaBean的形式调用类)

<%!
public static final String INFO = "JAVA Web";//定义全局变量
%>
<%!
public int add(int x, int y){//定义方法
return x+y;
}
%>
<%!
class Person{//定义类
}
%>
<%//编写普通脚本
out.println("INFO");//调用全局变量
out.println(add(3,5));//调用方法
%>

3、<%= %> :输一个变量或一个具体内容

<%
String str = "java";
%>
<h1><%=str%><h1>//使用表达式输出变量
<h2><%="java web"%></h2>//使用表达式输出常量

二、包含

1、静态包含
<%@ include file="a.html" %>

<%@ include file="a.jsp" %>

2、动态包含

2.1不带参数

<jsp:include page="a.html"/>

<jsp:include page="a.jsp"/>

2.2带参数

<jsp:include  page="a.jsp">//向被包含页面传入两个参数

<jsp:param name="name" value="<%=username%>"/>

<jsp:param name="info" value="java web"/>

</jsp:include>

静态是先包含再处理,动态是行处理后包含,所以我们应该多用动态包含。

例:a.jsp文件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%@ page contentType="text/html;charset=GBK" pageEncoding="GBK" %>
<%
int i = 100;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>page</title>
</head> <body class="tundra">
<h1>jsp-<%=i%></h1>
</body>
</html>

index.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<%@ page language="java" pageEncoding="GBK"%>
<%@ include file="a.jsp"%>//静态包含
<%
int i=10;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>My Web</title>
</head> <body class="tundra">
<div><h1>jsp-<%=i%></h1></div>
</body> </html>

如果用静态加载会报错,因为静态是先合并再处理,当合并后就定义了两个相同的i变量,因此显示时报错。

但如果是动态是则是先处理后合并,因此可以正常显示两条结果。

上一篇:JS数组去重算法实现


下一篇:Mycat实现Mysql主从读写分离