首页 >> 实验教学 >> 实验项目 >> 详细内容
实验教学
 
实验项目 >> 正文
Java Web程序设计
日期:2021-12-09 17:29:21  发布人:nclgjsj  浏览量:712

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验项目一

(一)实验项目名称:

JSP开发环境配置与测试

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

验证性  

(四)实验目的 

1.掌握JSP开发环境安装与配置;

2. 掌握JSP开发的一般步骤。

(五)实验内容

    1.安装与配置JDK,并测试JDK的安装是否成功;

2.安装与启动Tomcat,并通过浏览器访问Tomcat的主页面;

3. 安装Eclipse开发工具,并进行汉化;

4. 在Eclipse中配置web服务器,要求使用外置的Tomcat服务器;

5. 开发并运行JSP程序。

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

JDK环境配置、在Eclipse中配置Tomcat服务器。

(七)具体实验操作过程

1. JSP开发环境配置

JSP 编程使用的 Java 语言,所以运行 JSP 程序必须要有 JVM 的支持,还必须要有Java程序编辑、编译程序(JDK)的支持。现在企业流行的集成开发环境是 Eclipse 或MyEclipse。大多数应用程序都需要连接数据库,所以需要 DBMS 的支持,数据库的安装配置将在后续章节介绍。JSP 应用程序是运行在服务器上的,所以需要Web服务器的支持,在此以JDK1.7、Tomcat 7.0、Eclipse IDE for Java EE 为例,安装配置 JSP 开发环境。

1)安装JDK

Java公司官方网站(http://www.oracle.com/technetwork/java/index.html)下载JDK,现在最新的是 JDK 7 Update 5,如果是32位window操作系统,下载后得到的安装文件时jdk-7u5-windows-i586.exe,只需要双击中下载到的EXE 文件,点下一步即可安装。JDK 安装好后,需要配置 Java 的环境变量,步骤如下:

1)右击计算机->属性->高级系统设置->高级->环境变量,打开“环境变量”对话框,在用户或系统变量中新建以下环境变量:

①JAVA_HOME:表示Java SDK的安装目录,其值为 : D:\ProgramFiles\Java\jdk1.7.0_05(根据自己的实际安装位置进行调整)。

②修改 Path 环境变量,在变量值最前端添加增加“%JAVA_HOME%\bin; 

③CLASSPATH : 表 示 Java 要 访 问 的 jar 文 件 所 在 的 目 录 , 查看是否存在此变量,若存在,则加入 :“%JAVA_HOME\bin%;%JAVA_HOME%\jre\bin\; “。

注意:

对于 Path 环境变量是添加,而不要删除原来的内容,否则很多 Windows 功能不能使用;若有其他程序要用到自己的 Java 环境变量,请将第③步的内容添加到Path 环境变量的最后,以免影响其他程序的运行。字母不区分大小写,大写字母是遵照 Java 环境变量配置习惯。

2)测试

打开 Windows 的命令行窗口(开始->运行,在弹出的窗口中输入 cmd 回车),输入javac 然后回车,若能显示 javac 的帮助信息,说明 JDK 安装成功,如下图所示。

 

2)安装Tomcat服务器

1)下载安装Tomcat

Tomcat官方网站(http://tomcat.apache.org/)上下载Tomcat,现在最新版本是 7.0,下载后的文件名为Apache-Tomcat-7.0.29.exe。点击Apache-Tomcat-7.0.29.exe文件,弹出安装向导对话框,安装时只需要一路next即可,其中,安装到选择Java Virtual Machine对话框时选择Java虚拟机路径,这里选择JDK的安装路径。安装到Choose Install Location对话框时,更改为Tomcat的安装路径。

2)启动Tomcat

安装完成后,需要启动Tomcat服务器。在“开始”菜单中选择“所以程序”“Apache Tomcat 7.0 Tomcat 7”“Monitor Tomcat”命令,在任务栏右侧的系统托盘中将出现启动Tomcat图标,在该图标上单击鼠标右键,在打开的快捷键菜单中选择“Start Service”命令,启动Tomcat。

3)通过解压缩方式打开Tomcat

通过下载压缩文件,打开Tomcat,需要配置环境变量path

CATALINA_HOME:D:\360Downloads\apache-tomcat-8.5.45\apache-tomcat-8.5.45,打开文件中的startup-bat文件启动Tomcat

Tomcat启动后,打开IE浏览器,在地址栏中输入地址http://localhost:8080访问Tomcat服务器,若出现下图所示页面,则表示Tomcat安装成功。

 

 

 

 

2、安装JSP开发环境Eclipse

Eclipse可以从官网上下载,进入Eclipse的官网后下载Eclipse 4.2版本,下载后的文件名为Eclipse-JEE-juno-win32.zip,若有新版本也可以下载新版本。

1)将Eclipse-JEE-juno-win32.zip文件解压后,双击Eclipse.exe文件就可启动Eclipse。

2)解压完成后,启动Eclipse是英文版的,可以去Eclipse官网免费下载Eclipse多国语言包,本书中使用Eclipse4.2版本,即juno版本,所以下载多国语言包时,选择对应的juno超链接,然后下载语言包文件。下载成功后可将其解压,然后使用得到的features和plugins两个文件夹覆盖Eclipse文件夹中同门的这两个文件夹即可。此时启动Eclipse,可看到汉化后的Eclipse启动界面,如下图:

 

3)每次启动Eclipse时,都需要设置工作空间,用来存放创建的项目。可通过勾选“将此值用作缺省值并且不再询问选项屏蔽对话框”。

3、应用Eclipse开发简单的JSP程序

下面应用Eclipse开发一个简单的JSP程序,开发步骤如下:

1)启动Eclipse,弹出选择工作空间对话框,设置工作空间存储位置,然后单击确定按钮进入Eclipse开发界面。

2)依次单击菜单栏中的“文件”“新建”“Dynamic Web Project”菜单项,将打开新建动态Web项目对话框,在该对话框的“Project name”文本框中输入项目名称,这里为“firstProject”,在Dynamic Web module version下拉列表中选择“3.0”,其他选项采用默认设置。

3)单击“下一步”按钮,将打开配置Java应用的对话框,这里采用默认设置。

4)单击“下一步”按钮,将打开配置Web模块设置对话框,这里采用默认设置。

5)单击“完成”按钮,完成项目firstProject的创建。

项目创建完成后,就可根据实际需要创建文件,JSP文件或是其他文件。下面将创建一个名称为index.jsp的JSP文件

1)在Eclipse的“项目资源管理器”中,选中firstProject节点下的WebContent节点,并单击鼠标右键,在打开的快捷菜单中选择“新建”JSP file,打开“New JSP file”对话框,输入文件名“index.jsp”,其他采用默认设置。

 

2)单击“下一步”,打开选择JSP模板对话框,这里采用默认设置。

3)单击“完成”,完成JSP文件的创建。此时,项目资源管理器中WebContent节点下,将自动添加一个名称为index.jsp的节点,同时,Eclipse会自动以默认的与JSP文件关联的编辑器文件在右侧的编辑窗口中打开。

4)将index.jsp文件中的默认代码修改为以下代码:

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

pageEncoding="UTF-8"%>

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>使用Eclipse开发一个JSP网站</title>

</head>

<body>

保护环境,从自我作起...

</body>

</html>

5)将编辑好的JSP页面保存。

至此,完成了一个简单的JSP程序的创建。

在发布和运行项目前,需要配置Web服务器,如果已经配置好Web服务器,就不需要再重新配置了。配置Web服务器具体步骤如下:

1)在Eclipse工作台的其他视图中,选中Server视图,在该视图的空白区域单击鼠标右键,在弹出的快捷菜单中选中“New/Server”菜单项,将打开“new server”对话框,在该对话框中展开“Apache”节点,选中该节点下的“Tomcat v7.0 Server”子节点,其他采用默认设置。

2)单击“下一步”,打开Tomcat服务器安装路径对话框,选择Tomcat的安装路径,其他采用默认设置。

3)单击“完成”,完成Tomcat服务器配置。

动态Web项目创建完成后,就可以将项目发布到Tomcat并运行该项目。下面将介绍具体方法:

1)在“项目资源管理器”中选择项目名称节点,在工具栏上单击“启动”按钮,在弹出的快捷菜单中选择“运行方式”“Run On Server”,对话框,在该对话框中选择将服务器设置为缺省值,其他采用默认设置。

2)单击“完成”按钮,即可通过Tomcat运行该项目,运行后的效果如下图:

 

4、开发第一个应用

问题:这是一个动态Web应用,程序会根据当前用户的访问时间来显示对应的消息,但这仍然是事先人为地编写出各种情况,然后由计算机来根据条件进行判断选择。

参考步骤:

1)创建一个名为FirstJsp的Web项目。

2)在WebContent目录下新建一个index.jsp页面文件,并对该文件进行如下编码:

<%@ page contentType="text/html;charset=UTF-8"%>

<%@ page import="java.util.Date,java.text.*" %> <!-- 导入用到的类包文件 -->

<%

   Date nowday=new Date();   //获取当前日期

   int hour=nowday.getHours(); //获取日期中的小时

   SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //定义日期格式化对象

String time=format.format(nowday); //将指定日期格式化为”yyyy-MM-dd HH:mm:ss”形式

%>

<html>

   <head><title>第一个JSP应用</title></head>

   <body>

   <center>

   <table border="1" width="300">

       <tr height="30"><td align="center">温馨提示!</td></tr>

       <tr height="80"><td align="center">现在时间为:<%=time%></td></tr>

       <tr height="70">

           <td align="center">  

     <!-- 以下为嵌入到HTML中的Java代码,用来生成动态的内容 -->

      <%

        if(hour>=24&&hour<5)

   out.print("现在是凌晨!时间还很早,再睡会吧!");

         else if(hour>=5&&hour<10)

           out.print("早上好!新的一天即将开始,您准备好了吗?");

               else if(hour>=10&&hour<13)

               out.print("午休时间!正午好时光!");

               else if(hour>=13&&hour<18)

               out.print("下午继续努力工作吧!!");

               else if(hour>=18&&hour<21)

               out.print("晚上好!自由时间!");

               else if(hour>=21&&hour<24)

                  out.print("已经是深夜,注意休息!");

           %>

        </td>

        </tr>

   </table>   

   </center>

   </body>

</html>

3)将应用发布到Tomcat中,然后通过Eclipse启动Tomcat服务器。

4)打开IE浏览器,在地址栏中输入http://localhost:8080/FirstJsp,最终将出现下图运行结果。

 

5、开发第二个应用

第一步:创建JavaBean文件

package book;

import java.sql.*;

public class bookInfo {

private String driverStr="com.mysql.jdbc.Driver";

private String connStr="jdbc:mysql://localhost:3306/bookinfo?characterEncoding=gb2312";//数据库名

    private String dbusername="root";

    private String dbpassword="123456";//密码和数据库一致

    private Connection conn=null;

    private Statement stmt=null;

public bookInfo()

{

try{

Class.forName(driverStr);

conn = DriverManager.getConnection(connStr,dbusername, dbpassword);

stmt = conn.createStatement();

}

catch(Exception ex){System.out.println("无法同数据库建立连接!");}

}

public int executeUpdate(String s)

{

    int result=0;

    try{result=stmt.executeUpdate(s);}

    catch(Exception ex){System.out.println("执行更新错误!");}

    return result;

}

public ResultSet executeQuery(String s)

{

ResultSet rs=null;

try{rs=stmt.executeQuery(s);}

catch(Exception ex){System.out.println("执行查询错误!");}

return rs;

}

public void close()

{

try{

stmt.close();

conn.close();

}

catch(Exception e){}

}

 

}

第二步:创建index.jsp文件

<%@ page language="java" contentType="text/html; charset=gb2312"

    pageEncoding="UTF-8" import="java.sql.*"%>

<!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=gb2312">

<title>图书管理界面</title>

</head>

<body>

  <a href=add.jsp>增加图书信息</a><p>

<table border="1" >

<tr><td>书名<td>作者<td>价格<td>管理

<jsp:useBean id="db" class="book.bookInfo" scope="page"/><!-- 导入自己的类(Javabean) -->

<%

String s="select * from book_info";

ResultSet rs=db.executeQuery(s);

while(rs.next())

{

int id=rs.getInt(1);

out.println("<tr><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td><a href='del.jsp?id="+id+"'>删除</a> <a href='edit.jsp?id="+id+"'>修改</a></td></tr>");

}

rs.close();

db.close();

%>

</table>

</body>

</html>

第三步:建立数据库和创建表

 

DROP DATABASE IF EXISTS `book`;

CREATE DATABASE `book` /*!40100 DEFAULT CHARACTER SET gbk */;

USE `book`;

 

#

# Table structure for table bookinfo

#

 

CREATE TABLE `bookinfo` (

  `id` int(10) unsigned NOT NULL auto_increment,

  `bookname` varchar(45) NOT NULL default '',

  `author` varchar(45) NOT NULL default '',

  `price` float NOT NULL default '0',

  PRIMARY KEY  (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

 

#

# Dumping data for table bookinfo

#

 

/*!40101 SET NAMES gb2312 */;

 

INSERT INTO `bookinfo` VALUES (1,' Web开发技术教程','张娜、陈宁等',35);

INSERT INTO `bookinfo` VALUES (2,' Web基础教程','姜仲等',29);

INSERT INTO `bookinfo` VALUES (3,'数据库应用原理','张冬青',28);

INSERT INTO `bookinfo` VALUES (4,' Java核心技术技术',' Gray Cornell',50);

INSERT INTO `bookinfo` VALUES (5,'JSP2.0应用教程','陈旭东',29);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验项目二

(一)实验项目名称:

JSP语法基础应用v0.1指令、表达式、注释的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的 

1. 掌握 JSP 变量/方法,表达式,代码段和注释的使用方法;

2. 掌握 JSP 指令的语法格式及用法。

(五)实验内容

    1.输入声明变量代码,刷新页面几次,观察结果,并说明从结果中得到什么启示;

2.输入声明方法代码,观察结果,并说明得到的启示;

3. 输入Java表达式代码,说明JSP表达式可以出现什么Java元素;

4. 输入Java代码段,并说明发现什么重要提示;

5. 在JSP页面中输入注释代码,访问JSP页面并查看源文件,观察结果,并说明从中得到的启示;

6. JSP指令应用。

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

1. JSP注释的理解;

2. JSP指令标识的应用;

 

(七)具体实验操作过程

1. JSP 页面结构

说明:以后代码如无特殊说明均写在<body>标签中(JSP 代码可以写在网页的任何位置)。

1.1声明变量与方法

新建一 JSP 页面,输入以下代码。

1)声明变量

<%!

int i=0;

%>

<%

out.println("i="+i++);

%>

刷新你写的页面几次,观察到什么结果,从结果中你得到什么启示?

2)输入以下代码

<%!

public int max(int a, int b){

if (a>b){

return a;

}

return b;

}

%>

<%

out.println("<h1>3 和 5 中较大的是"+max(3,5)+"</h1>");

%>

将上面变量和方法的声明,写在 out.println();代码段之后,再访问你写的 JSP 页面,观察结果,你得到什么启示?

1.2 JSP 表达式

JSP 页面中输入以下代码。

<h1><%=max(3,5) %></h1>

<h1><%=(i+a+c)/3 %></h1>

<h1><%=date.toString() %></h1>

<%!

public int max(int a, int b){

if (a>b){

return a;

}

return b;

}

int i = 3, a = 5, c=4;

Date date = new Date();

%>

先找出上述程序的错误,并改正。通过分析运行结果,你认为 JSP 表达式可以出现什么 Java 元素?

1.3 JSP 代码段

JSP 页面中输入以下代码,从以下代码的书写中,你发现了什么重要提示?(<%

%>中的代码段,无论写在多少个分离的<% %>标签中,都必须完整,即符合 Java 语法,比如大括号必须匹配等)

<%

int grade = 80;

switch(grade/10){

case 10:;

case 9:

%>

<h1>你的成绩为优秀!</h1>

<%

break;

case 8:;

case 7:

%>

<h1>你的成绩为良好!</h1>

<%

break;

case 6:

%>

<h1>你的成绩为及格!</h1>

<%

break;

default:

%>

<h1>你的成绩为不及格!</h1>

<%} %>

1.4 JSP 注释

输入以下代码,访问你的 JSP页面并查看页面源文件,你看到了什么?说明什么问题?

<!--<%=new Date().toString() %>-->

<%--<%=new Date().toString() %>--%>

2. JSP 指令

2.1 include 指令

1)新建 Included.jsp 页面,在页面中输入以下代码,而且只保留如下代码:

<% int a=5, b=8, c=6;

out.println("<h1>Hello World!</h1>");

%>

2)编写 Including.jsp 页面,在其中输入以下代码:

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

并在<body>中输入以下代码:<%=a+b+c %>

3) 启动 Tomcat 服务器,访问 Including.jsp,观察结果。

 

 

 

 

 

 

 

 

 

 

实验项目三

(一)实验项目名称:

JSP语法基础应用v0.2动作标识的使用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的 

1. 掌握JSP动作标识的使用

(五)实验内容

1.include动作与include指令的异同

2. inlude动作标识的使用

3. foword动作标识的使用

4. useBean动作标识、setProperty动作标识以及getProperty动作标识的使用

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

1. include动作与include指令的异同;

2. useBean动作标识的使用。

 

(七)具体实验操作过程

1. include动作与include指令的异同

1)新建 included.jsp 页面,在页面中输入以下代码,而且只保留如下代码:

<% 

int a=5,b=8,c=6;

out.println("<h1>hello word!</h1>");

%>

2)新建 including.jsp 页面,在其中输入以下代码:

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

<%=a+b+c %>

3)观察编辑器有什么提示?并想一想,include 指令和 include 动作有什么异同?可以如何修改这个程序?

 

2. inlude动作标识的使用

index.jsp页面中包含一个logined.jsp页面,要求从index.jsp页面中传递两个参数。

1)新建index.jsp页面,在其中输入以下代码

<jsp:include page="logined.jsp">

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

<jsp:param value="123456" name="password"/>

</jsp:include>

    2)新建logined.jsp页面,在其中输入以下代码

This is logined.jsp page!

<br>

<% String str1=request.getParameter("username");

   String str2=request.getParameter("password");

%>

<% out.println(str1+"<br>");

   out.println(str2+"<br>");

%>

3)观察并分析结果

 

 3. foword动作标识的使用

应用Eclipse新建一个Web项目,并在该项目的根目录下创建index.jsp和welcome.jsp文件,要求该项目实行如下功能:当访问index.jsp文件后,会自动转发到welcome.jsp页面。

 

4. useBean动作标识、setProperty动作标识以及getProperty动作标识的使用

存在一个JavaBean,名字为Student,实现在StudentInfo.jsp页面输入学生的学号和姓名,在StudentInfoHandle.jsp页面输出学生的学号和姓名。

1)在项目的 src 目录下新建 com.phoenix.test 包,并在该包在新建类 Student,并输入以下代码

public class Student {

public long id;

public String name;

public Student(){}

// getters and setters……

}

2)编写 StudentInfo.jsp 页面,输入以下内容

<form action="StudentInfoHandle.jsp">

学号:<input type="text" name="id"/><br>

姓名:<input type="text" name="name" /><br>

<input type="submit" value="提交"/>

</form>

3)编写 StudentInfoHandle.jsp,输入以下内容。

<jsp:useBean id="stu" class=com.phoenix.test.Student scope="session">

</jsp:useBean>

<jsp:setProperty name="stu" property="*"/>

<h1>学生信息</h1>

学号:<jsp:getProperty name="stu" property="id"/>

<br>

姓名:<jsp:getProperty name="stu" property="name"/>

<br>

4)运行 StudentInfo.jsp,输入学号和姓名并提交,观察结果

 

 

 

 

 

 

 

 

 

 

 

 

实验项目四

(一)实验项目名称:

Request内置对象的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的 

1. 掌握request对象的方法;

2. 掌握HTML标签的使用;

3. 掌握在JSP页面声明、使用方法。

 

(五)实验内容

1.编写三个JSP页面:login.jsp、dologin.jsp、success.jsp,实现功能: dologin.jsp校验login.jsp页面的输入内容并进行页面跳转。

2. 使用request内置对象实现一个计算器。

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

Request内置对象的使用

 

(七)具体实验操作过程

1、编写三个JSP页面:login.jsp、dologin.jsp、success.jsp,实现功能: dologin.jsp校验login.jsp页面的输入内容并进行页面跳转。

1.1 问题描述

编写三个jsp页面:login.jsp、dologin.jsp和success.jsp,将三个jsp页面保存在同一目录下。login.jsp页面结构如下:

 

dologin.jsp校验login.jsp页面的输入内容并进行页面跳转,内容如下:

1)、当用户不输入用户名和密码,直接点击“登录”时,跳回login.jsp页面。

2)、当用户只输入用户名或者只输入密码,就点击“登录”时,跳回login.jsp页面,并且将用户刚才输入的用户名或密码显示在对应的位置。

3)、当用户完整输入用户名和密码,点击“登录”时,跳转到success.jsp,并在该页面显示用户名,以及该用户是第几个用户。

1.2 参考实现过程

1)设计login.jsp

参考代码如下:

 

2)编写dologin.jsp

参考代码如下:

 

3)编写success.jsp

参考代码如下:

 

4)测试页面

5)思考:用户访问次数的记录特点,何时重新计数?用户名如果是中文会出现什么情况?如何解决?

2、使用request内置对象获取Cookie

2.1 问题描述

编写2个页面,分别为setcookie.jsp和getcookies.jsp,实现功能:在setcookie.jsp中创建5个cookie对象,其中有2个需要从接收的请求中的参数中来创建;getcookies.jsp文件实现获取cookie数组并输出

2.2 参考实现过程

1)设计setcookie.jsp页面,参考代码如下:

 

 

2)设计getcookie.jsp,参考代码如下:

 

3)测试页面

首先运行setcookie.jsp文件,创建cookie,运行的时候需要在请求后设置参数,再运行getcookie.jsp页面。

 

 

 

 

实验项目五

(一)实验项目名称:

Session内置对象与response内置对象的使用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的

1. 掌握Session内置对象的使用;

2. 熟悉response内置对象的使用;

3. 掌握HTML标签的使用。

 

(五)实验内容

1.使用Session对象实现猜数字游戏。

2. 使用response对象实现用HTML类型、word类型或excel类型,显示同一个文件。

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7、Tomcat 7.0服务器。

(六)实验重点、难点

Session内置对象的使用

 

(七)具体实验操作过程

1、使用Session对象实现猜数字游戏。

1.1 问题描述

实现猜数字的小游戏。当客户访问服务器上的getNumber.jsp时,随机分配给客户一个1~100之间的整数,然后将这个整数存在客户的session对象中。客户在表单里输入一个整数,来猜测分配给自己的那个整数。客户输入一个整数后,提交给result.jsp,该页面负责判断这个整数是否和客户session对象中存在的那个整数相同,如果相同就连接到success.jsp;如果不相同就连接到large.jsp或small.jsp,然后,客户在这些页面再重新提交整数result.jsp,效果如下图所示:

 

 

 

1.2 参考实现过程

1)设计getNumber.jsp页面

 

2)设计result.jsp页面

 

 

3)设计large.jsp页面

 

4)设计small.jsp页面

 

5)设计succes.jsp页面

 

6)上机调试,测试页面

7)思考:本猜数字游戏能否用request内置对象实现?为什么?

 

2、使用response对象实现用HTML类型、word类型或excel类型,显示同一个文件。

2.1 问题描述

根据要求选择使用HTML类型、word类型或excel类型,显示同一个contentTypeData.txt文件。在contentType.jsp页面上选择不同按钮,然后单击“提交”按钮,由contentShow.jsp文件选择显示类型。效果图如下:

 

2.2 参考实现过程

1)contentType.jsp页面

 

2)contentShow.jsp页面

 

3)contentTypeData.txt文件

 

6)上机调试,测试页面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验项目六

(一)实验项目名称:

JavaBean的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、综合性  

(四)实验目的

1. 掌握JavaBean的定义

2. 掌握JavaBean的使用

 

(五)实验内容

1.应用JavaBean制作留言本

2. 应用JavaBean解决中文乱码问题

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7、Tomcat 7.0服务器。

(六)实验重点、难点

1. JavaBean在JSP页面中的应用

2. JavaBean应用程序的开发

 

(七)具体实验操作过程

1、应用JavaBean制作留言本

本实例的实现过程详见教材P108.

2、应用JavaBean解决中文乱码问题

设计一个定书程序,实现:可以进行定书功能并查看订单信息。要求:

1)编写工具JavaBean,解决如下乱码问题

 

5-1 输入书的相关信息(index.jsp)

 

5-2 提交后的页面(saveinfo.jsp)

 

5-3 书的详细信息(viewbook.jsp)

2)设计三个JSP页面,分别为index.jsp、saveinfo.jsp、viewbook.jsp页面和一个值JavaBean,其参考代码如下:

1)index.jsp页面

<FORM METHOD=POST ACTION="saveinfo.jsp"> 

<table border="1">

<tr><td> 书号 </td><td><INPUT TYPE="text" NAME="bid"></td></tr> 

<tr><td> 书名 </td><td><INPUT TYPE="text" NAME="bname"></td></tr> 

<tr><td> 数量 </td><td><INPUT TYPE="text" NAME="number"></td></tr> 

<tr><td> 作者 </td><td><INPUT TYPE="text" NAME="wr"></td></tr> 

</table> 

<INPUT TYPE="submit" value=" 保存 "> 

</FORM>

 

2)saveinfo.jsp页面

<jsp:useBean id="book" class="com.bookshop.order.BookBean"  scope="session"/> 

<jsp:setProperty name="book" property="*"/>

<a href="viewbook.jsp"> 查看书籍信息 </a>

 

3)viewbook.jsp页面

<jsp:useBean id="book" class="com.bookshop.order.BookBean" scope="session"/> 

<table border="1">

<tr><td> 书号 </td><td><jsp:getProperty name="book" property="bid"/></td></tr> 

<tr><td> 书名 </td><td><jsp:getProperty name="book" property="bname"/></td></tr> 

<tr><td> 数量 </td><td><jsp:getProperty name="book" property="number"/></td></tr> 

<tr><td> 作者 </td><td><jsp:getProperty name="book" property="wr"/></td></tr> 

</table>

 

4)值JavaBean-BookBean.java

package com.bookshop.order;

 

public class BookBean {

private String bid;

private String bname;

private int number;

private String wr;

…… //此处省略了get方法和set方法 

}

 

 

实验项目七

(一)实验项目名称:

Servlet的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、综合性

(四)实验目的 

1. 掌握Servlet的创建

2. 掌握Servlet在程序中的应用

 

(五)实验内容

1.应用Servlet实现留言板

2. 应用Servlet实现购物车

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

1. Servlet的创建

2. Servlet在程序中的应用

 

(七)具体实验操作过程

1、应用Servlet实现留言板

本实例的实现过程详见教材P130。

2、应用JavaBean实现购物车

本实例的实现过程详见教材P134。

 

实验项目八

(一)实验项目名称:

JSP访问数据库的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

验证性、设计性

(四)实验目的 

1. 掌握JSP中SQL Server 2008数据库的连接;

2. 掌握JSP中Access数据库的连接;

3. 掌握JSP中MySQL数据库的连接。

 

(五)实验内容

1.JSP中连接SQL Server 2008数据库;

2. JSP中连接Access数据库;

3. JSP中连接MySQL数据库;

4. 创建Access数据库,配置ODBC数据源,连接数据库。

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器、SQL Server 2008、Access、MySQL

(六)实验重点、难点

1. JSP中连接SQL Server 2008数据库;

2. JSP中连接Access数据库;

3. JSP中连接MySQL数据库。

 

(七)具体实验操作过程

1、JSP中连接SQL Server 2008数据库

本实例的实现过程详见教材P177页例8-1

2、JSP中连接Access数据库

本实例的实现过程详见教材P178页例8-2

3、JSP中连接MySQL数据库

本实例的实现过程详见教材P178页例8-3

4、创建Access数据库,配置ODBC数据源,连接数据库

4.1 问题描述

创建Access数据库,然后创建一个学生信息表并且录入数据,接着配置ODBC数据源,最后连接该数据库。

4.2 实验参考过程

1)创建数据库

采用ACCESS数据库,创建一个学生数据库,其中有一个数据表是学生信息数据表。

数据表中信息如下:

字段名称

数据类型

说明

No

Char

学号

Name

Char

姓名

Sex

Char

性别

Age

Char

年龄

 

期中,将学号no设置为主键,保存为student_info;然后,在该数据表中录入几条记录。

2)创建该数据库的ODBC数据源

开始-〉控制面板-〉管理工具-〉ODBC数据源 -> 选择系统数据源

点击添加

选择ACCESS数据库

点击完成,出现如下所示

在数据源名中输入:student

点击选择,选择你数据库所在文件夹的位置

点击确定

3)熟悉语法规则

  • 加载驱动程序的语法如下:

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

  • 打开数据库连接的语法如下:

Connection Connection 对象变量=DriverManager.getConnection(“jdbc:odbc:ODBC 数据源名称”,”使用者账号”,”密码”)

  • 关闭数据库连接的语法如下:

Connection 对象变量.close()

4)参考程序代码

程序代码:

<%@ page contentType=”text/html;charset=GB2312”%>

<%@ page import=”java.sql.*”%>

<%@ page language=”java”%>

<html>

<head>

<title>数据库连接的建立与关闭</title>

</head>

<body>

<!—建立与数据库的连接-->

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection conDB=DriverManager.getConnection("jdbc:odbc:student");

%>

已经建立与数据库的连接

<%

conDB.close();

%>

已经关闭数据库的连接

</body>

</head>

</html>

5)上机调试

6)分析结果

 

实验项目九

(一)实验项目名称:

JSP综合开发实例个人博客

(二)实验学时:

4

(三)实验性质(设计性?综合性?验证性?)

综合性

(四)实验目的 

1. 掌握Java Web项目开发的流程

2. 巩固JSP的语法、JSP内置对象、JavaBean技术、Servlet技术、JSP数据库应用技术等知识。

 

(五)实验内容

1.应用JSP、JavaBean、Servlet技术开发个人博客

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器、SQL Server 2008数据库

(六)实验重点、难点

1. 网站总体设计;

2. 数据库设计

3. 文件架构设计

4. 公共类编写;

5. 前台主页面设计

6. 文章显示模块设计

7. 博主登录模块设计

Java Web程序设计

 

 

 

 

 

南昌理工学院

计算机信息工程学院

 

 

 

 

 

 

 

 

 

 

 

 

 

实验项目一

(一)实验项目名称:

JSP开发环境配置与测试

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

验证性  

(四)实验目的 

1.掌握JSP开发环境安装与配置;

2. 掌握JSP开发的一般步骤。

(五)实验内容

    1.安装与配置JDK,并测试JDK的安装是否成功;

2.安装与启动Tomcat,并通过浏览器访问Tomcat的主页面;

3. 安装Eclipse开发工具,并进行汉化;

4. 在Eclipse中配置web服务器,要求使用外置的Tomcat服务器;

5. 开发并运行JSP程序。

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

JDK环境配置、在Eclipse中配置Tomcat服务器。

(七)具体实验操作过程

1. JSP开发环境配置

JSP 编程使用的 Java 语言,所以运行 JSP 程序必须要有 JVM 的支持,还必须要有Java程序编辑、编译程序(JDK)的支持。现在企业流行的集成开发环境是 Eclipse 或MyEclipse。大多数应用程序都需要连接数据库,所以需要 DBMS 的支持,数据库的安装配置将在后续章节介绍。JSP 应用程序是运行在服务器上的,所以需要Web服务器的支持,在此以JDK1.7、Tomcat 7.0、Eclipse IDE for Java EE 为例,安装配置 JSP 开发环境。

1)安装JDK

Java公司官方网站(http://www.oracle.com/technetwork/java/index.html)下载JDK,现在最新的是 JDK 7 Update 5,如果是32位window操作系统,下载后得到的安装文件时jdk-7u5-windows-i586.exe,只需要双击中下载到的EXE 文件,点下一步即可安装。JDK 安装好后,需要配置 Java 的环境变量,步骤如下:

1)右击计算机->属性->高级系统设置->高级->环境变量,打开“环境变量”对话框,在用户或系统变量中新建以下环境变量:

①JAVA_HOME:表示Java SDK的安装目录,其值为 : D:\ProgramFiles\Java\jdk1.7.0_05(根据自己的实际安装位置进行调整)。

②修改 Path 环境变量,在变量值最前端添加增加“%JAVA_HOME%\bin; 

③CLASSPATH : 表 示 Java 要 访 问 的 jar 文 件 所 在 的 目 录 , 查看是否存在此变量,若存在,则加入 :“%JAVA_HOME\bin%;%JAVA_HOME%\jre\bin\; “。

注意:

对于 Path 环境变量是添加,而不要删除原来的内容,否则很多 Windows 功能不能使用;若有其他程序要用到自己的 Java 环境变量,请将第③步的内容添加到Path 环境变量的最后,以免影响其他程序的运行。字母不区分大小写,大写字母是遵照 Java 环境变量配置习惯。

2)测试

打开 Windows 的命令行窗口(开始->运行,在弹出的窗口中输入 cmd 回车),输入javac 然后回车,若能显示 javac 的帮助信息,说明 JDK 安装成功,如下图所示。

 

2)安装Tomcat服务器

1)下载安装Tomcat

Tomcat官方网站(http://tomcat.apache.org/)上下载Tomcat,现在最新版本是 7.0,下载后的文件名为Apache-Tomcat-7.0.29.exe。点击Apache-Tomcat-7.0.29.exe文件,弹出安装向导对话框,安装时只需要一路next即可,其中,安装到选择Java Virtual Machine对话框时选择Java虚拟机路径,这里选择JDK的安装路径。安装到Choose Install Location对话框时,更改为Tomcat的安装路径。

2)启动Tomcat

安装完成后,需要启动Tomcat服务器。在“开始”菜单中选择“所以程序”“Apache Tomcat 7.0 Tomcat 7”“Monitor Tomcat”命令,在任务栏右侧的系统托盘中将出现启动Tomcat图标,在该图标上单击鼠标右键,在打开的快捷键菜单中选择“Start Service”命令,启动Tomcat。

3)通过解压缩方式打开Tomcat

通过下载压缩文件,打开Tomcat,需要配置环境变量path

CATALINA_HOME:D:\360Downloads\apache-tomcat-8.5.45\apache-tomcat-8.5.45,打开文件中的startup-bat文件启动Tomcat

Tomcat启动后,打开IE浏览器,在地址栏中输入地址http://localhost:8080访问Tomcat服务器,若出现下图所示页面,则表示Tomcat安装成功。

 

 

 

 

2、安装JSP开发环境Eclipse

Eclipse可以从官网上下载,进入Eclipse的官网后下载Eclipse 4.2版本,下载后的文件名为Eclipse-JEE-juno-win32.zip,若有新版本也可以下载新版本。

1)将Eclipse-JEE-juno-win32.zip文件解压后,双击Eclipse.exe文件就可启动Eclipse。

2)解压完成后,启动Eclipse是英文版的,可以去Eclipse官网免费下载Eclipse多国语言包,本书中使用Eclipse4.2版本,即juno版本,所以下载多国语言包时,选择对应的juno超链接,然后下载语言包文件。下载成功后可将其解压,然后使用得到的features和plugins两个文件夹覆盖Eclipse文件夹中同门的这两个文件夹即可。此时启动Eclipse,可看到汉化后的Eclipse启动界面,如下图:

 

3)每次启动Eclipse时,都需要设置工作空间,用来存放创建的项目。可通过勾选“将此值用作缺省值并且不再询问选项屏蔽对话框”。

3、应用Eclipse开发简单的JSP程序

下面应用Eclipse开发一个简单的JSP程序,开发步骤如下:

1)启动Eclipse,弹出选择工作空间对话框,设置工作空间存储位置,然后单击确定按钮进入Eclipse开发界面。

2)依次单击菜单栏中的“文件”“新建”“Dynamic Web Project”菜单项,将打开新建动态Web项目对话框,在该对话框的“Project name”文本框中输入项目名称,这里为“firstProject”,在Dynamic Web module version下拉列表中选择“3.0”,其他选项采用默认设置。

3)单击“下一步”按钮,将打开配置Java应用的对话框,这里采用默认设置。

4)单击“下一步”按钮,将打开配置Web模块设置对话框,这里采用默认设置。

5)单击“完成”按钮,完成项目firstProject的创建。

项目创建完成后,就可根据实际需要创建文件,JSP文件或是其他文件。下面将创建一个名称为index.jsp的JSP文件

1)在Eclipse的“项目资源管理器”中,选中firstProject节点下的WebContent节点,并单击鼠标右键,在打开的快捷菜单中选择“新建”JSP file,打开“New JSP file”对话框,输入文件名“index.jsp”,其他采用默认设置。

 

2)单击“下一步”,打开选择JSP模板对话框,这里采用默认设置。

3)单击“完成”,完成JSP文件的创建。此时,项目资源管理器中WebContent节点下,将自动添加一个名称为index.jsp的节点,同时,Eclipse会自动以默认的与JSP文件关联的编辑器文件在右侧的编辑窗口中打开。

4)将index.jsp文件中的默认代码修改为以下代码:

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

pageEncoding="UTF-8"%>

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>使用Eclipse开发一个JSP网站</title>

</head>

<body>

保护环境,从自我作起...

</body>

</html>

5)将编辑好的JSP页面保存。

至此,完成了一个简单的JSP程序的创建。

在发布和运行项目前,需要配置Web服务器,如果已经配置好Web服务器,就不需要再重新配置了。配置Web服务器具体步骤如下:

1)在Eclipse工作台的其他视图中,选中Server视图,在该视图的空白区域单击鼠标右键,在弹出的快捷菜单中选中“New/Server”菜单项,将打开“new server”对话框,在该对话框中展开“Apache”节点,选中该节点下的“Tomcat v7.0 Server”子节点,其他采用默认设置。

2)单击“下一步”,打开Tomcat服务器安装路径对话框,选择Tomcat的安装路径,其他采用默认设置。

3)单击“完成”,完成Tomcat服务器配置。

动态Web项目创建完成后,就可以将项目发布到Tomcat并运行该项目。下面将介绍具体方法:

1)在“项目资源管理器”中选择项目名称节点,在工具栏上单击“启动”按钮,在弹出的快捷菜单中选择“运行方式”“Run On Server”,对话框,在该对话框中选择将服务器设置为缺省值,其他采用默认设置。

2)单击“完成”按钮,即可通过Tomcat运行该项目,运行后的效果如下图:

 

4、开发第一个应用

问题:这是一个动态Web应用,程序会根据当前用户的访问时间来显示对应的消息,但这仍然是事先人为地编写出各种情况,然后由计算机来根据条件进行判断选择。

参考步骤:

1)创建一个名为FirstJsp的Web项目。

2)在WebContent目录下新建一个index.jsp页面文件,并对该文件进行如下编码:

<%@ page contentType="text/html;charset=UTF-8"%>

<%@ page import="java.util.Date,java.text.*" %> <!-- 导入用到的类包文件 -->

<%

   Date nowday=new Date();   //获取当前日期

   int hour=nowday.getHours(); //获取日期中的小时

   SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //定义日期格式化对象

String time=format.format(nowday); //将指定日期格式化为”yyyy-MM-dd HH:mm:ss”形式

%>

<html>

   <head><title>第一个JSP应用</title></head>

   <body>

   <center>

   <table border="1" width="300">

       <tr height="30"><td align="center">温馨提示!</td></tr>

       <tr height="80"><td align="center">现在时间为:<%=time%></td></tr>

       <tr height="70">

           <td align="center">  

     <!-- 以下为嵌入到HTML中的Java代码,用来生成动态的内容 -->

      <%

        if(hour>=24&&hour<5)

   out.print("现在是凌晨!时间还很早,再睡会吧!");

         else if(hour>=5&&hour<10)

           out.print("早上好!新的一天即将开始,您准备好了吗?");

               else if(hour>=10&&hour<13)

               out.print("午休时间!正午好时光!");

               else if(hour>=13&&hour<18)

               out.print("下午继续努力工作吧!!");

               else if(hour>=18&&hour<21)

               out.print("晚上好!自由时间!");

               else if(hour>=21&&hour<24)

                  out.print("已经是深夜,注意休息!");

           %>

        </td>

        </tr>

   </table>   

   </center>

   </body>

</html>

3)将应用发布到Tomcat中,然后通过Eclipse启动Tomcat服务器。

4)打开IE浏览器,在地址栏中输入http://localhost:8080/FirstJsp,最终将出现下图运行结果。

 

5、开发第二个应用

第一步:创建JavaBean文件

package book;

import java.sql.*;

public class bookInfo {

private String driverStr="com.mysql.jdbc.Driver";

private String connStr="jdbc:mysql://localhost:3306/bookinfo?characterEncoding=gb2312";//数据库名

    private String dbusername="root";

    private String dbpassword="123456";//密码和数据库一致

    private Connection conn=null;

    private Statement stmt=null;

public bookInfo()

{

try{

Class.forName(driverStr);

conn = DriverManager.getConnection(connStr,dbusername, dbpassword);

stmt = conn.createStatement();

}

catch(Exception ex){System.out.println("无法同数据库建立连接!");}

}

public int executeUpdate(String s)

{

    int result=0;

    try{result=stmt.executeUpdate(s);}

    catch(Exception ex){System.out.println("执行更新错误!");}

    return result;

}

public ResultSet executeQuery(String s)

{

ResultSet rs=null;

try{rs=stmt.executeQuery(s);}

catch(Exception ex){System.out.println("执行查询错误!");}

return rs;

}

public void close()

{

try{

stmt.close();

conn.close();

}

catch(Exception e){}

}

 

}

第二步:创建index.jsp文件

<%@ page language="java" contentType="text/html; charset=gb2312"

    pageEncoding="UTF-8" import="java.sql.*"%>

<!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=gb2312">

<title>图书管理界面</title>

</head>

<body>

  <a href=add.jsp>增加图书信息</a><p>

<table border="1" >

<tr><td>书名<td>作者<td>价格<td>管理

<jsp:useBean id="db" class="book.bookInfo" scope="page"/><!-- 导入自己的类(Javabean) -->

<%

String s="select * from book_info";

ResultSet rs=db.executeQuery(s);

while(rs.next())

{

int id=rs.getInt(1);

out.println("<tr><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td><td>"+rs.getString(4)+"</td><td><a href='del.jsp?id="+id+"'>删除</a> <a href='edit.jsp?id="+id+"'>修改</a></td></tr>");

}

rs.close();

db.close();

%>

</table>

</body>

</html>

第三步:建立数据库和创建表

 

DROP DATABASE IF EXISTS `book`;

CREATE DATABASE `book` /*!40100 DEFAULT CHARACTER SET gbk */;

USE `book`;

 

#

# Table structure for table bookinfo

#

 

CREATE TABLE `bookinfo` (

  `id` int(10) unsigned NOT NULL auto_increment,

  `bookname` varchar(45) NOT NULL default '',

  `author` varchar(45) NOT NULL default '',

  `price` float NOT NULL default '0',

  PRIMARY KEY  (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

 

#

# Dumping data for table bookinfo

#

 

/*!40101 SET NAMES gb2312 */;

 

INSERT INTO `bookinfo` VALUES (1,' Web开发技术教程','张娜、陈宁等',35);

INSERT INTO `bookinfo` VALUES (2,' Web基础教程','姜仲等',29);

INSERT INTO `bookinfo` VALUES (3,'数据库应用原理','张冬青',28);

INSERT INTO `bookinfo` VALUES (4,' Java核心技术技术',' Gray Cornell',50);

INSERT INTO `bookinfo` VALUES (5,'JSP2.0应用教程','陈旭东',29);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验项目二

(一)实验项目名称:

JSP语法基础应用v0.1指令、表达式、注释的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的 

1. 掌握 JSP 变量/方法,表达式,代码段和注释的使用方法;

2. 掌握 JSP 指令的语法格式及用法。

(五)实验内容

    1.输入声明变量代码,刷新页面几次,观察结果,并说明从结果中得到什么启示;

2.输入声明方法代码,观察结果,并说明得到的启示;

3. 输入Java表达式代码,说明JSP表达式可以出现什么Java元素;

4. 输入Java代码段,并说明发现什么重要提示;

5. 在JSP页面中输入注释代码,访问JSP页面并查看源文件,观察结果,并说明从中得到的启示;

6. JSP指令应用。

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

1. JSP注释的理解;

2. JSP指令标识的应用;

 

(七)具体实验操作过程

1. JSP 页面结构

说明:以后代码如无特殊说明均写在<body>标签中(JSP 代码可以写在网页的任何位置)。

1.1声明变量与方法

新建一 JSP 页面,输入以下代码。

1)声明变量

<%!

int i=0;

%>

<%

out.println("i="+i++);

%>

刷新你写的页面几次,观察到什么结果,从结果中你得到什么启示?

2)输入以下代码

<%!

public int max(int a, int b){

if (a>b){

return a;

}

return b;

}

%>

<%

out.println("<h1>3 和 5 中较大的是"+max(3,5)+"</h1>");

%>

将上面变量和方法的声明,写在 out.println();代码段之后,再访问你写的 JSP 页面,观察结果,你得到什么启示?

1.2 JSP 表达式

JSP 页面中输入以下代码。

<h1><%=max(3,5) %></h1>

<h1><%=(i+a+c)/3 %></h1>

<h1><%=date.toString() %></h1>

<%!

public int max(int a, int b){

if (a>b){

return a;

}

return b;

}

int i = 3, a = 5, c=4;

Date date = new Date();

%>

先找出上述程序的错误,并改正。通过分析运行结果,你认为 JSP 表达式可以出现什么 Java 元素?

1.3 JSP 代码段

JSP 页面中输入以下代码,从以下代码的书写中,你发现了什么重要提示?(<%

%>中的代码段,无论写在多少个分离的<% %>标签中,都必须完整,即符合 Java 语法,比如大括号必须匹配等)

<%

int grade = 80;

switch(grade/10){

case 10:;

case 9:

%>

<h1>你的成绩为优秀!</h1>

<%

break;

case 8:;

case 7:

%>

<h1>你的成绩为良好!</h1>

<%

break;

case 6:

%>

<h1>你的成绩为及格!</h1>

<%

break;

default:

%>

<h1>你的成绩为不及格!</h1>

<%} %>

1.4 JSP 注释

输入以下代码,访问你的 JSP页面并查看页面源文件,你看到了什么?说明什么问题?

<!--<%=new Date().toString() %>-->

<%--<%=new Date().toString() %>--%>

2. JSP 指令

2.1 include 指令

1)新建 Included.jsp 页面,在页面中输入以下代码,而且只保留如下代码:

<% int a=5, b=8, c=6;

out.println("<h1>Hello World!</h1>");

%>

2)编写 Including.jsp 页面,在其中输入以下代码:

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

并在<body>中输入以下代码:<%=a+b+c %>

3) 启动 Tomcat 服务器,访问 Including.jsp,观察结果。

 

 

 

 

 

 

 

 

 

 

实验项目三

(一)实验项目名称:

JSP语法基础应用v0.2动作标识的使用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的 

1. 掌握JSP动作标识的使用

(五)实验内容

1.include动作与include指令的异同

2. inlude动作标识的使用

3. foword动作标识的使用

4. useBean动作标识、setProperty动作标识以及getProperty动作标识的使用

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

1. include动作与include指令的异同;

2. useBean动作标识的使用。

 

(七)具体实验操作过程

1. include动作与include指令的异同

1)新建 included.jsp 页面,在页面中输入以下代码,而且只保留如下代码:

<% 

int a=5,b=8,c=6;

out.println("<h1>hello word!</h1>");

%>

2)新建 including.jsp 页面,在其中输入以下代码:

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

<%=a+b+c %>

3)观察编辑器有什么提示?并想一想,include 指令和 include 动作有什么异同?可以如何修改这个程序?

 

2. inlude动作标识的使用

index.jsp页面中包含一个logined.jsp页面,要求从index.jsp页面中传递两个参数。

1)新建index.jsp页面,在其中输入以下代码

<jsp:include page="logined.jsp">

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

<jsp:param value="123456" name="password"/>

</jsp:include>

    2)新建logined.jsp页面,在其中输入以下代码

This is logined.jsp page!

<br>

<% String str1=request.getParameter("username");

   String str2=request.getParameter("password");

%>

<% out.println(str1+"<br>");

   out.println(str2+"<br>");

%>

3)观察并分析结果

 

 3. foword动作标识的使用

应用Eclipse新建一个Web项目,并在该项目的根目录下创建index.jsp和welcome.jsp文件,要求该项目实行如下功能:当访问index.jsp文件后,会自动转发到welcome.jsp页面。

 

4. useBean动作标识、setProperty动作标识以及getProperty动作标识的使用

存在一个JavaBean,名字为Student,实现在StudentInfo.jsp页面输入学生的学号和姓名,在StudentInfoHandle.jsp页面输出学生的学号和姓名。

1)在项目的 src 目录下新建 com.phoenix.test 包,并在该包在新建类 Student,并输入以下代码

public class Student {

public long id;

public String name;

public Student(){}

// getters and setters……

}

2)编写 StudentInfo.jsp 页面,输入以下内容

<form action="StudentInfoHandle.jsp">

学号:<input type="text" name="id"/><br>

姓名:<input type="text" name="name" /><br>

<input type="submit" value="提交"/>

</form>

3)编写 StudentInfoHandle.jsp,输入以下内容。

<jsp:useBean id="stu" class=com.phoenix.test.Student scope="session">

</jsp:useBean>

<jsp:setProperty name="stu" property="*"/>

<h1>学生信息</h1>

学号:<jsp:getProperty name="stu" property="id"/>

<br>

姓名:<jsp:getProperty name="stu" property="name"/>

<br>

4)运行 StudentInfo.jsp,输入学号和姓名并提交,观察结果

 

 

 

 

 

 

 

 

 

 

 

 

实验项目四

(一)实验项目名称:

Request内置对象的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的 

1. 掌握request对象的方法;

2. 掌握HTML标签的使用;

3. 掌握在JSP页面声明、使用方法。

 

(五)实验内容

1.编写三个JSP页面:login.jsp、dologin.jsp、success.jsp,实现功能: dologin.jsp校验login.jsp页面的输入内容并进行页面跳转。

2. 使用request内置对象实现一个计算器。

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

Request内置对象的使用

 

(七)具体实验操作过程

1、编写三个JSP页面:login.jsp、dologin.jsp、success.jsp,实现功能: dologin.jsp校验login.jsp页面的输入内容并进行页面跳转。

1.1 问题描述

编写三个jsp页面:login.jsp、dologin.jsp和success.jsp,将三个jsp页面保存在同一目录下。login.jsp页面结构如下:

 

dologin.jsp校验login.jsp页面的输入内容并进行页面跳转,内容如下:

1)、当用户不输入用户名和密码,直接点击“登录”时,跳回login.jsp页面。

2)、当用户只输入用户名或者只输入密码,就点击“登录”时,跳回login.jsp页面,并且将用户刚才输入的用户名或密码显示在对应的位置。

3)、当用户完整输入用户名和密码,点击“登录”时,跳转到success.jsp,并在该页面显示用户名,以及该用户是第几个用户。

1.2 参考实现过程

1)设计login.jsp

参考代码如下:

 

2)编写dologin.jsp

参考代码如下:

 

3)编写success.jsp

参考代码如下:

 

4)测试页面

5)思考:用户访问次数的记录特点,何时重新计数?用户名如果是中文会出现什么情况?如何解决?

2、使用request内置对象获取Cookie

2.1 问题描述

编写2个页面,分别为setcookie.jsp和getcookies.jsp,实现功能:在setcookie.jsp中创建5个cookie对象,其中有2个需要从接收的请求中的参数中来创建;getcookies.jsp文件实现获取cookie数组并输出

2.2 参考实现过程

1)设计setcookie.jsp页面,参考代码如下:

 

 

2)设计getcookie.jsp,参考代码如下:

 

3)测试页面

首先运行setcookie.jsp文件,创建cookie,运行的时候需要在请求后设置参数,再运行getcookie.jsp页面。

 

 

 

 

实验项目五

(一)实验项目名称:

Session内置对象与response内置对象的使用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、验证性  

(四)实验目的

1. 掌握Session内置对象的使用;

2. 熟悉response内置对象的使用;

3. 掌握HTML标签的使用。

 

(五)实验内容

1.使用Session对象实现猜数字游戏。

2. 使用response对象实现用HTML类型、word类型或excel类型,显示同一个文件。

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7、Tomcat 7.0服务器。

(六)实验重点、难点

Session内置对象的使用

 

(七)具体实验操作过程

1、使用Session对象实现猜数字游戏。

1.1 问题描述

实现猜数字的小游戏。当客户访问服务器上的getNumber.jsp时,随机分配给客户一个1~100之间的整数,然后将这个整数存在客户的session对象中。客户在表单里输入一个整数,来猜测分配给自己的那个整数。客户输入一个整数后,提交给result.jsp,该页面负责判断这个整数是否和客户session对象中存在的那个整数相同,如果相同就连接到success.jsp;如果不相同就连接到large.jsp或small.jsp,然后,客户在这些页面再重新提交整数result.jsp,效果如下图所示:

 

 

 

1.2 参考实现过程

1)设计getNumber.jsp页面

 

2)设计result.jsp页面

 

 

3)设计large.jsp页面

 

4)设计small.jsp页面

 

5)设计succes.jsp页面

 

6)上机调试,测试页面

7)思考:本猜数字游戏能否用request内置对象实现?为什么?

 

2、使用response对象实现用HTML类型、word类型或excel类型,显示同一个文件。

2.1 问题描述

根据要求选择使用HTML类型、word类型或excel类型,显示同一个contentTypeData.txt文件。在contentType.jsp页面上选择不同按钮,然后单击“提交”按钮,由contentShow.jsp文件选择显示类型。效果图如下:

 

2.2 参考实现过程

1)contentType.jsp页面

 

2)contentShow.jsp页面

 

3)contentTypeData.txt文件

 

6)上机调试,测试页面

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验项目六

(一)实验项目名称:

JavaBean的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、综合性  

(四)实验目的

1. 掌握JavaBean的定义

2. 掌握JavaBean的使用

 

(五)实验内容

1.应用JavaBean制作留言本

2. 应用JavaBean解决中文乱码问题

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7、Tomcat 7.0服务器。

(六)实验重点、难点

1. JavaBean在JSP页面中的应用

2. JavaBean应用程序的开发

 

(七)具体实验操作过程

1、应用JavaBean制作留言本

本实例的实现过程详见教材P108.

2、应用JavaBean解决中文乱码问题

设计一个定书程序,实现:可以进行定书功能并查看订单信息。要求:

1)编写工具JavaBean,解决如下乱码问题

 

5-1 输入书的相关信息(index.jsp)

 

5-2 提交后的页面(saveinfo.jsp)

 

5-3 书的详细信息(viewbook.jsp)

2)设计三个JSP页面,分别为index.jsp、saveinfo.jsp、viewbook.jsp页面和一个值JavaBean,其参考代码如下:

1)index.jsp页面

<FORM METHOD=POST ACTION="saveinfo.jsp"> 

<table border="1">

<tr><td> 书号 </td><td><INPUT TYPE="text" NAME="bid"></td></tr> 

<tr><td> 书名 </td><td><INPUT TYPE="text" NAME="bname"></td></tr> 

<tr><td> 数量 </td><td><INPUT TYPE="text" NAME="number"></td></tr> 

<tr><td> 作者 </td><td><INPUT TYPE="text" NAME="wr"></td></tr> 

</table> 

<INPUT TYPE="submit" value=" 保存 "> 

</FORM>

 

2)saveinfo.jsp页面

<jsp:useBean id="book" class="com.bookshop.order.BookBean"  scope="session"/> 

<jsp:setProperty name="book" property="*"/>

<a href="viewbook.jsp"> 查看书籍信息 </a>

 

3)viewbook.jsp页面

<jsp:useBean id="book" class="com.bookshop.order.BookBean" scope="session"/> 

<table border="1">

<tr><td> 书号 </td><td><jsp:getProperty name="book" property="bid"/></td></tr> 

<tr><td> 书名 </td><td><jsp:getProperty name="book" property="bname"/></td></tr> 

<tr><td> 数量 </td><td><jsp:getProperty name="book" property="number"/></td></tr> 

<tr><td> 作者 </td><td><jsp:getProperty name="book" property="wr"/></td></tr> 

</table>

 

4)值JavaBean-BookBean.java

package com.bookshop.order;

 

public class BookBean {

private String bid;

private String bname;

private int number;

private String wr;

…… //此处省略了get方法和set方法 

}

 

 

实验项目七

(一)实验项目名称:

Servlet的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

设计性、综合性

(四)实验目的 

1. 掌握Servlet的创建

2. 掌握Servlet在程序中的应用

 

(五)实验内容

1.应用Servlet实现留言板

2. 应用Servlet实现购物车

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器。

(六)实验重点、难点

1. Servlet的创建

2. Servlet在程序中的应用

 

(七)具体实验操作过程

1、应用Servlet实现留言板

本实例的实现过程详见教材P130。

2、应用JavaBean实现购物车

本实例的实现过程详见教材P134。

 

实验项目八

(一)实验项目名称:

JSP访问数据库的应用

(二)实验学时:

2

(三)实验性质(设计性?综合性?验证性?)

验证性、设计性

(四)实验目的 

1. 掌握JSP中SQL Server 2008数据库的连接;

2. 掌握JSP中Access数据库的连接;

3. 掌握JSP中MySQL数据库的连接。

 

(五)实验内容

1.JSP中连接SQL Server 2008数据库;

2. JSP中连接Access数据库;

3. JSP中连接MySQL数据库;

4. 创建Access数据库,配置ODBC数据源,连接数据库。

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器、SQL Server 2008、Access、MySQL

(六)实验重点、难点

1. JSP中连接SQL Server 2008数据库;

2. JSP中连接Access数据库;

3. JSP中连接MySQL数据库。

 

(七)具体实验操作过程

1、JSP中连接SQL Server 2008数据库

本实例的实现过程详见教材P177页例8-1

2、JSP中连接Access数据库

本实例的实现过程详见教材P178页例8-2

3、JSP中连接MySQL数据库

本实例的实现过程详见教材P178页例8-3

4、创建Access数据库,配置ODBC数据源,连接数据库

4.1 问题描述

创建Access数据库,然后创建一个学生信息表并且录入数据,接着配置ODBC数据源,最后连接该数据库。

4.2 实验参考过程

1)创建数据库

采用ACCESS数据库,创建一个学生数据库,其中有一个数据表是学生信息数据表。

数据表中信息如下:

字段名称

数据类型

说明

No

Char

学号

Name

Char

姓名

Sex

Char

性别

Age

Char

年龄

 

期中,将学号no设置为主键,保存为student_info;然后,在该数据表中录入几条记录。

2)创建该数据库的ODBC数据源

开始-〉控制面板-〉管理工具-〉ODBC数据源 -> 选择系统数据源

点击添加

选择ACCESS数据库

点击完成,出现如下所示

在数据源名中输入:student

点击选择,选择你数据库所在文件夹的位置

点击确定

3)熟悉语法规则

  • 加载驱动程序的语法如下:

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)

  • 打开数据库连接的语法如下:

Connection Connection 对象变量=DriverManager.getConnection(“jdbc:odbc:ODBC 数据源名称”,”使用者账号”,”密码”)

  • 关闭数据库连接的语法如下:

Connection 对象变量.close()

4)参考程序代码

程序代码:

<%@ page contentType=”text/html;charset=GB2312”%>

<%@ page import=”java.sql.*”%>

<%@ page language=”java”%>

<html>

<head>

<title>数据库连接的建立与关闭</title>

</head>

<body>

<!—建立与数据库的连接-->

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection conDB=DriverManager.getConnection("jdbc:odbc:student");

%>

已经建立与数据库的连接

<%

conDB.close();

%>

已经关闭数据库的连接

</body>

</head>

</html>

5)上机调试

6)分析结果

 

实验项目九

(一)实验项目名称:

JSP综合开发实例个人博客

(二)实验学时:

4

(三)实验性质(设计性?综合性?验证性?)

综合性

(四)实验目的 

1. 掌握Java Web项目开发的流程

2. 巩固JSP的语法、JSP内置对象、JavaBean技术、Servlet技术、JSP数据库应用技术等知识。

 

(五)实验内容

1.应用JSP、JavaBean、Servlet技术开发个人博客

 

实验条件:

要求准备下列软件:Window 7、Eclipse IDE for Java EE软件、JDK 1.7Tomcat 7.0服务器、SQL Server 2008数据库

(六)实验重点、难点

1. 网站总体设计;

2. 数据库设计

3. 文件架构设计

4. 公共类编写;

5. 前台主页面设计

6. 文章显示模块设计

7. 博主登录模块设计

8. 相册管理模块设计

 

(七)具体实验操作过程

 

8. 相册管理模块设计

 

(七)具体实验操作过程

 

核发:nclgjsj 点击数:712收藏本页