第五章 Jsp简介 Jsp概念: 1:什么是Jsp Jsp(Java Server Page)是一种Java服务器端技术。一个Jsp页面包括三个方面的内容 Html,JavaScript,Jsp程序片断 2:如何写Jsp脚本 把Jsp脚本写在<% %>里面 把Js脚本写在<script>代码</script>里面 3:可见Jsp实际上就是在Html语言中嵌入Jsp脚本 4:编写第一个Jsp应用程序 Jsp的执行过程: 浏览器--->请求-------->Web服务器---->找到Jsp页面---->编译 | | 浏览器<-------响应<------Serverlet 从该执行过程不难看出Jsp在最后实际上要变成Serverlet之后才能发给客户端 Jsp与Servelet的区别: 1)Jsp是在Serverlet的基础上发展起来的 2)Serverlet一般用于处理没有界面的业务逻辑,如果处理有界面的程序,就显示比较笨拙 Serverlet用out.println一句一句的输出Html标记(界面),当整个网页非常多且复杂的时候 就会有很多的out.println来输出html标记 3)Jsp很好的解决了这个问题,对于Html标记可以直接书写,只有需要写程序代码时才以 <% %>的方式加入 4)Jsp把界面部分与代码部分分离,这样可以在开发网站时实现分工。美工只管界面部分,而 程序员只管代码部分 Jsp的语法: A)Jsp的输出:out.println用来输出 1)输出字符串:out.println("字符串") 2)输出Java脚本:out.println("<script>alert('我是真的爱你');</script>"); 3)输出Html标记:out.println("<a href=http://www.sina.com>新浪网</a>"); 链接到QQ对话:out.println("<a target=blank href=http://wpa.qq.com/msgrd?v=1&uin=16663755&site=walmart&menu=yes>留言</a>"); B)表达式。<%=Java表达式%>。表达式后面不要加分号 例如:<%=Math.max(100,90)%>,<%=3+4*5%>等 C)Scriptlet: Scriptlet就是在<%.....%>里面嵌入Java代码。它在形式上与表达式的区别就是在 <%...%>里面没有"=",而且中间是一段Java代码,不是表达式,每条语句要以分号 结尾。举例说明 D)声明:<% ! Java变量,方法 %> 1):声明变量: <%! int a=3,b=4 %> 2)声明类: <%! public class stud { public String GetId() { return "W1"; } } %> 3)声明函数: <%! public int sum(int a,int b) { return a+b; } %> 说明: 1)声明变量即可以在<%! %>只能够声明,不能实现 比如:<%! int a=3,b=4,c; c=a+b;%>错误<%! int a=3,b=4,int c=a+b;%>正确 2)声明变量既可以<%! %>中声明,也可以在<%中声明%>。 <%! %>中声明的变量:servlet(Jsp最终要转换成Serverlet)的实例变量。 根据Servlet的原理,所以的客户端只共享一个Serlvet的实例,所以在此处定义的 变量可以其它的页面来共享,也就是具备有继承性 <% %>中声明的变量:是局部变量,只能够给本页面使用,不具备继承性 <%! int i=0; //实例变量,有继承性 %> <% i++; out.println(i); %> 与的区别 <% int i=0; //局部变量,无继承性 i++; out.println(i); %> 3)但是声明函数与类只能够在<%! %>中声明,而不能在<% %> 4)一般声明变量都在<% %>中声明,而声明函数与类都在<%!中声明%> 5)为了代码的可读性一般都把类用一个单独的Java文件来保存,而不会在一个 Jsp页面中去定义 E)Jsp指令: 1)Jsp指令控制对整个页面的处理。 2)Page指令: 1:导入Java包,与自定义的类 格式:<%@ page import="aspproject.Student,java.util.*"%> 说明:自定义的类一定要放在WEB-INF下面的classes下面,不过只要引用了一个类, Jbulider会自动的创建一个classes文件夹,并放入相应的类 2:当本页面发生错误时,跳转到错误页面进行处理 格式: 源页面:<%@page errorPage="Error.jsp" isErrorPage="false" %> 错误页面:<%@ page isErrorPage="true" %> 说明:错误是当出现异常,但是没有捕获时,如果捕获了,则不会发生页面跳转 3)include指令: 1:该指令用于把一个Jsp页面包含到另外一个Jsp页面中 2:格式:<%@ include file="HeadPic.jsp" %> 说明:嵌入一个页面是为了重用这个页面,而不必在每一个页面上写一些相同的代码。 例如:在很多的Jsp页面中都要在顶部显示同样的图片,这时就不必在每个页面 都去包含这些图片,而是单独写一个文件来完成此任务,然后在其它的Jsp页面中 利用include包含即可 作业: 1)编写一个Java类,用来描述学生。包含学生的学号,姓名,性别。声明三个实例,并加到 一个ArraryList,并把结果显示在表格中 2)编写一个页面,让用户输入两个数和一个操作符,在另外一个页面显示计算的结果 3)做一个民意调查页面,来调查"在校大学生谈恋爱",好,不好,不好说三个选项 一个页面:显示界面用来让用户进行投票,另外一个页面显示投票的结果 jtds连接Sql server 4)使用Jsp实现用户登录 //************************************************************************** Class.forName("net.sourceforge.jtds.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://chen:1433;DatabaseName=jsp", "sa", ""); java.sql.PreparedStatement ps = conn.prepareStatement(Sql); java.sql.ResultSet rs = ps.executeQuery(); //******************************************************************************

评论