web程序设计-JSP实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一Web程序开发平台的构建
一、实验目的和要求
巩固知识点——JDK的安装及环境变量的设置。

JDK是Java开发工具,是进行JSP开发必备的软件支持。

巩固知识点——Tomcat以及My SQL的安装。

Tomcat是Web服务器为Web 项目提供运行的环境。

My SQL用于存储数据信息。

二、实验内容和原理
在进行JSP开发Web项目前需要搭建开发环境,JDK是开发环境中必备的软件。

然而Windows并没有默认安装JDK,所以需要进行手动的安装及环境变量的设置。

在开发的过程中数据库和Web服务器是必不可少的软件支持,在Windows中并没有预先安装这两种软件,所以需要进行手动的安装。

三、实验环境
硬件:计算机
软件:Windows XP和以Java语言为基础的开发环境、软件开发包(JDK)和运行环境(JRE)。

四、实验步骤
1、JDK的安装和配置
由于JDK不是Windows XP系统的默认配置软件,所以需要手动安装,安装JDK 后就可以提供Java语言开发和运行环境了。

具体安装步骤如下:
(1)从Sun公司网站下载JDK软件。

双击安装文件,弹出【许可证协议】对话框,如图1-1所示。

(2)选择【我接受】选项,弹出【自定义安装】对话框,如图1-2所示。

单击【更改】按钮,选择JDK安装目录。

图1-1 【许可证协议】对话框图1-2 【自定义安装】对话框
(3)单击【下一步】按钮,进入JDK安装等待界面,如图1-3所示。

(4)JDK安装结束,弹出【JRE自定义安装】对话框,开始安装JRE,如图1-4所示。

单击【更改】按钮,选择JRE安装目录。

图1-3 JDK安装等待界面图1-4 【JRE自定义安装】对话框
(5)单击【下一步】按钮,进入JRE安装等待界面,如图1-5所示。

(6)JRE安装结束,弹出【安装完成】对话框,如图1-6所示。

单击【完成】按钮,完成JDK和JRE的安装。

图1-5 JRE等待安装界面图1-6 【安装完成】对话框2、JDK安装结束后需要进行Java环境变量的配置,具体配置步骤如下。

(1)右键单击【我的电脑】图标,选择【属性】命令,弹出【系统属性】对话框,如图1-7所示。

(2)单击【高级】标签,弹出【高级】对话框,如图1-8所示。

图1-7 【系统属性】对话框图1-8 【高级】对话框
(3)单击【环境变量】按钮,弹出【环境变量】对话框,如图1-9所示。

(4)单击系统变量的【新建】按钮,弹出【新建环境变量】对话框,如图1-10所示。

在【变量名】文本框中输入“Java_HOME”。

在【变量值】文本框中输入JDK 的目录路径。

单击【确定】按钮,完成创建。

(5)在图1-9中选择【系统变量】列表框中的【Path】选项,单击系统变量的【编辑】按钮,弹出【编辑系统变量】对话框,如图1-11所示。

在【变量值】文本框中加入“;%Java_HOME%\bin”。

单击【确定】按钮,完成编辑。

图1-10 【新建环境变量】对话框
图1-9 【环境变量】对话框图1-11 【编辑系统变量】对话框检查Java环境变量是否配置成功,具体步骤如下。

(1)单击【开始】|【运行】命令,打开【运行】对话框,如图1-12所示。

(2)在【打开】文本框中输入“cmd”,单击【确定】按钮,弹出【命令】对话框,如图1-13所示。

图1-12 【运行】对话框图1-13 【命令】对话框
(3)在命令行中运行“java”和“javac”命令,如图1-14和图1-15所示。

图1-14 运行“java”命令后的效果
图1-15 运行“javac”命令后的效果
3、应用服务器的安装和配置
应用服务器是把数据库信息与终端用户或者客户端程序连接在一起。

打开Tomcat安装目录下的bin文件夹,如图1-16所示,启动和停止Tomcat的命令都存放在这个目录下。

图1-16 bin文件夹中的文件结构
图1-17 【Tomcat控制台】窗口
图1-16中的startup为启动Tomcat应用服务器的命令;shutdown是停止Tomcat 应用服务器的命令。

双击startup文件,Tomcat应用服务器被启动,弹出【Tomcat控制台】窗口,如图1-17所示。

4、数据库的安装及配置:
(1)打开下载的mysql安装文件,运行“setup.exe”,出现图1-18界面。

mysql安装向导启动,按“Next”继续。

(2)弹出【选择安装类型】对话框,单击“Custom(用户自定义)”,单击【下一步】选择MySQL安装目录。

如图1-19和图1-20所示。

(3)确认一下先前的设置,如果有误,按“Back”返回。

按“Install”开始安装。

如图1-21所示
图1-18 图1-19
图1-20 图1-21
(4)单击【下一步】按钮,进入MySQL安装等待界面,如图1-22所示。

(5) 准备进入mysql配置向导,如图1-23所示。

单击【finish】按钮进入下一步。

图1-22 图1-23
(6)mysql配置向导启动界面,按“Next”继续。

如图1-24所示
(7)弹出选择配置方式对话框,选择“Detailed Configration”。

如图1-25所示。

图1-24 图1-25
(8) 单击【next】按钮,弹出选择服务器类型对话框,选择“Server Machine”。

如图1-26所示。

(9) 单击【next】按钮,弹出选择mysql数据库的大致用途对话框,选择“Multifunctional Database。

如图1-27所示。

图1-26 图1-27 (10) 单击【next】按钮,弹出对InnoDB Tablespace进行配置对话框,选择“D”盘。

如图1-28所示。

(11) 单击【next】按钮,弹出选择您的网站的一般mysql访问量,同时连接的数目的对话框,选择“Online Transaction Processing(OLTP)”。

如图1-29所示。

图1-28 图1-29 (12) 单击【next】按钮,弹出是否启用TCP/IP连接,设定端口的对话框。

如图1-30所示。

(13) 单击【next】按钮,弹出对mysql默认数据库语言编码进行设置的对话框。

在“Character Set”选择“gbk”。

如图1-31所示。

图1-30 图1-31 (14) 单击【next】按钮,弹出选择是否将mysql安装为windows服务,是否将mysql的bin目录加入到Windows PATH的对话框。

全都打钩。

如图1-32所示。

(15) 单击【next】按钮,弹出询问是否要修改默认root用户的密码的对话框。

重复填入密码。

如图1-33所示。

图1-32 图1-33 (16) 单击【next】按钮,确认设置无误,如果有误,按“Back”返回检查。

按“Execute”使设置生效。

如图1-34所示。

(17) 单击【next】按钮,设置完毕,按“Finish”结束mysql的安装与配置。

如图1-35所示。

图1-34 图1-35
5、MySQL图形界面用户管理器navicat安装
(1)双击安装软件,弹出【欢迎安装】对话框,如图1-36所示。

(2)单击【下一步】按钮,弹出【许可证协议】对话框,选择【我同意】选项。

如图1-37所示。

图1-36 图1-37
(3)单击【下一步】按钮,弹出【选择安装文件夹】对话框,单击【浏览】按钮,选择navicat安装目录。

如图1-38所示。

(4)单击【下一步】按钮,弹出【选择开始目录】对话框,按照默认。

如图1-39所示。

图1-38 图1-39 (5)单击【下一步】按钮,弹出【选择额外任务】对话框,按照默认。

如图1-40所示。

(6)单击【下一步】按钮,确认设置无误,如果有误,按“上一步”返回检查。

如图1-41所示。

图1-40 图1-41
(7)单击【下一步】按钮,进入navicat安装等待界面。

如图1-42所示。

(8)navicat安装结束,弹出【安装完成】对话框,单击【完成】。

按钮如图1-43所示。

五、总结
通过这次实验,对于构建Web程序开发平台有了大部分的了解,能够完整的构建一个开发平台,为以后学习web程序开发奠定了基础。

实验二JSP实现网站计数器
一、实验目的和要求
1、能够利用基于JSP技术来实现网站计数功能。

2、掌握JSP中使用JDK的一些类的常用方法。

3、初步认识JSP中使用的Java脚本的格式。

二、实验内容和原理
1、基于JSP技术来实现网站计数功能,JSP中读取文本文件内容主要是通过Java的读取文件类,由JSP通过浏览器显示结果。

这样的文本读取需要使用JDK 中的BufferedReader类和FileReader类;而写入内容需要使用JDK的FileOutputStream类和PrintWrite类。

2、利用文本文件形式来存储访问量。

当访问者访问到网站的时候,系统读取指定文本文件,然后读取文本文件中记录的访问量,再将访问量加一,并将数据存储到文本文件中,这样就实现了对网站进行统计的功能。

三、实验环境
硬件:计算机
软件:Windows XP和以Java语言为基础的开发环境、软件开发包(JDK)和运行环境(JRE)。

四、实验步骤
1、创建动态Web项目,并创建JSP文件,命名为count.jsp。

在JSP中声明如下几个变量,代码如下:
<%String record=null;//从文本中读取出来的内容信息
BufferedReader br=null;// 用于读取文本文件中的数据
String FilePath="c://count.txt";//文本文件的位置路径
PrintWriter pw=null;//用于将数据写入到文本文件中
2、利用BufferedReader和FileReader从指定路径的文本文件中读取内容。

<%br=new BufferedReader(new FileReader(FilePath));//利用BufferedReader读取文本//文件中的内容
record=br.readLine();//读取文本文件中的第一行内容
3、如果读取的内容为null,则向文本文件中写入的内容为“1”,表明这是网站的第一次被访问。

如果不为null,则将读取的内容转换为int类型再加一。

//对读取到的结果进行判断,如果为空则此访问者为第一个访问者if(record==null){
record="1";
}else{
record=(Integer.parseInt(record)+1)+"";//如果此访问者不是第一个访问者,则累加计数
} %>
4、将recode变量保存到文本文件中,代码如下。

您是第<%=record %>位访问者。

<%//利用PrintWriter将数据写到文本文件中
pw=new PrintWriter(new FileOutputStream(FilePath)); //将内容打印到文本上pw.write(record); //清除PrintWriter对象
pw.close(); %>
5、运行结果如下图:
6、单击刷新按钮结果如下图:
7、项目完成后的文件列表结果如下图:
五、总结
通过本次实验,我了解到如何利用基于JSP技术来实现网站计数功能,掌握了部分JSP中使用JDK的一些类的常用方法,初步到认识JSP中使用的Java脚本的格式。

为以后能够做出完整的网站铺垫了基石。

实验三JSP实现用户注册
一、实验目的和要求
1、了解过滤器处理中文问题;
2、掌握JSP中的内建对象;
3、能够利用JSP来实现用户注册。

二、实验内容和原理
1、先设计HTML表单,创建四个JSP页面,两个Java类,利用Eclipse与
MySQL的连接来实现JSP用户注册。

2、首先运行程序到注册页面,输入完信息后提交,如果注册成功将跳转到
success.jsp页面,否则跳转到error.jsp页面。

三、实验环境
硬件:计算机
软件:Windows XP和以Java语言为基础的开发环境、软件开发包(JDK)和运行环境(JRE)。

四、实验步骤
1、在项目里创建check、register、success、error四个jsp页面。

2、在MySQL图形化界面管理器navicat中创建表users如下图所示:
3、修改preference→General→Editors→Text Editors→Spelling
4、修改preference→Web→JSP Files
5、在Java Resource中添加中文过滤器SetCharacterEncodingFilterJava包和DBJava 包。

6、修改服务器Tomcat设置
7、将mysql数据库驱动包mysql-connector-java-放入Tomcat的lib下面,Tomcat 启动的时候需要用到这个包。

8、将放在Java安装目录的bin下。

9、注册页面:
10、注册成功界面:
11、注册失败界面:
12、注册成功后在navicat中如下图所示:
13、项目完成后的文件列表如下图所示:
五、总结
经过了这次的实验,我了解到了用过滤器处理中文的方法,掌握了JSP中的内建对象,懂得了如何利用JSP来实现用户注册,在不断的尝试中收获颇多。

附录:
(1)check.jsp代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*,java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>验证并提交数据</title>
</head>
<% String password = (String)request.getParameter("password"); //得到密码String repassword = (String)request.getParameter("repassword"); //得到确认密码if(!password.equals(repassword)){
Redirect("error.jsp"); }
Parameter("username");//得到注册页传来的用户名
Parameter("sex"); //得到注册页传来的性别
String work = (String)request.getParameter("work"); //得到注册页传来的职业String[] love = (String[])request.getParameterValues("love"); //得到注册页传来的爱好
Parameter("show");//得到注册页传来的个人说明
String strLove = ""; /*将复选框得到的数组值取出*/
for(int i=0;i<love.length;i++ ){
if(strLove.trim().equals("")){
strLove = strLove+"'"+love[i].toString()+"'"; }
else{
strLove = strLove+",'"+love[i].toString()+"'"; } }
if(strLove.trim().substring(0,strLove.trim().length()).equals(",")) {
strLove = strLove.trim().substring(0,strLove.trim().length()-1); } Connection conDB = null; //建立数据库连接对象PreparedStatement stmt = null; //建立数据库操作对象try{ //使用try-catch捕捉异常Class.forName("com.mysql.jdbc.Driver"); //加载JDBC-ODBC桥驱动程序conDB=DriverManager.getConnection("jdbc:mysql://localhost/test?useUnicose=true &characterEncoding=utf8","root","1990753");// 创建语句对象
stmt=conDB.prepareStatement("insert into
users(username,password,sex,work,love,shows) values(?,?,?,?,?,?)");//连接数据库stmt.setString(1,name);
stmt.setString(2,password); stmt.setString(3,sex); stmt.setString(4,work);
stmt.setString(5,strLove); stmt.setString(6,show); stmt.execute();
}catch(Exception e){ e.printStackTrace(); }
response.sendRedirect("success.jsp");
}%>
<body>
</html>
(2)DB.java代码:
package com.jsp.register;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DB {
private Connection conDB=null; //建立数据库连接对象private PreparedStatement stmt=null; //建立数据库操作对象private ResultSet rs = null;//建立结果集(用来接收从数据库中查询出来的数据)public DB(){try {ame("com.mysql.jdbc.Driver");//加载数据库驱动程序
conDB = riverManager.getConnection("jdbc:mysql://localhost:3306;databasename =test?user=root&password=&1990753=true&characterEncoding=UTF-8");
} catch (Exception e) { } }
public void register(String name,String password,String sex,String work,String love,String shows) throws SQLException{stmt=conDB.prepareStatement("insert into users(username,password,sex,work,love,shows) values(?,?,?,?,?,?)");
stmt.setString(1, name); stmt.setString(2, password); stmt.setString(3, sex); stmt.setString(4, work); stmt.setString(5, love); stmt.setString(6, shows); stmt.execute(); }
public void setRs(ResultSet rs) {
this.rs=rs; }
public ResultSet getRs() {
return rs;}}
实验四JSP与Servlet实现用户登录
一、实验目的和要求
1、掌握Servlet技术的工作原理,理解JSP和Servlet的关系;
2、熟悉Servlet常用类、接口的使用,巩固知识点—Session对象;
3、掌握Servlet的开发过程。

二、实验内容和原理
1、使用Servlet完成一个用户分步注册,利用response.sendRedirect()方法完成页面间的跳转;
2、使用JSP中的一个重要内建对象Session对信息的存储和读取,用到其两个方法,使用SetAttribute()的方法向Session对象中存入一些数据,在另一个页面中使用getAttribute()的方法将存入的数据取出并在页面中显示;
3、使用JSP与Servlet联合查询用户,一个JSP页面与一个Servlet类,一个JSP页面为login.jsp(输入用户名与密码)。

在Servlet类中得到输入的用户名和密码,并调用查询方法到数据库中查询,最后将查询的结果返回到login.jsp页面。

三、实验环境
硬件:计算机
软件:Windows XP和以Java语言为基础的开发环境、软件开发包(JDK)和运行环境(JRE)。

四、实验步骤
1、在项目中创建login、success、error三个jsp页面。

2、在Java Resource中添加中文过滤器SetCharacterEncodingFilterJava包和LoginJava包。

3、用户登录如图所示:
登陆成功如图:
登陆错误如下图所示:
4、项目完成后的文件列表如下图所示:
五、总结
在这次实验中,我对于Servlet技术的工作原理有了一定的认识,基本了解到JSP和Servlet的关系,熟悉了Servlet常用类、接口的使用,加深了Session 对象这个知识点的理解,大致了掌握Servlet的开发过程。

附录:
(1)login.java代码:
package com.jsp.servlet;
import java.io.IOException;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class for Servlet: Login
*
*/
public class Login extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public Login() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/*
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
HttpSession session = request.getSession();
String username = (String)request.getParameter("username");
String password = (String)request.getParameter("password");
String sql = "select count(*)from users where username='"+username+"' and password='"+password+"'";
String m = "";
try {
int message = queryUser(sql);
if(message==1){
m = "登录成功!";
session.setAttribute("success", m);
session.setAttribute("username", username);
session.setAttribute("password", password);
request.getRequestDispatcher("/success.jsp").forward(request,response);//将请求发送到服务器上的任何资源
}else{
m = "用户名或密码错误,请核对后再登录.";
session.setAttribute("error", m);
session.setAttribute("username", username);
session.setAttribute("password", password);
request.getRequestDispatcher("/error.jsp").forward(request,response);//response.s
endRedirect("Error");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void init() throws ServletException{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public int queryUser(String sql)throws Exception{
int message = 1;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1990753");
ResultSet rs = conn.prepareStatement(sql).executeQuery();
if(rs.next()){
message = rs.getInt(1);
}
return message;
}}
实验五设计并实现基于JSP技术的投票系统
一、实验目的和要求
1、巩固知识点—JSP Model II;
2、熟悉JSP Model II的开发模式即JSP+Servlet+JavaBean的模式;
3、掌握JavaBean的基本概念以及JSP应用JavaBean的方法。

二、实验内容和原理
利用JSP技术实现投票系统,此投票系统基于MVC的思想,利用
JSP+Servlet+JavaBean的分层结构实现。

JSP负责用户交互界面的实现,Servlet 负责跳转控制,JavaBean负责数据的封装和处理。

三、实验环境
硬件:计算机
软件:Windows XP和以Java语言为基础的开发环境、软件开发包(JDK)和运行环境(JRE)。

四、实验步骤
1、在项目里创建add、login、query、result四个jsp页面。

2、在Java Resource中加入BallotBean、JdbcDao、SetCharacterEncodingFilter、
Add、Delete、Disposal、Query四个包。

3、在MySQL图形化界面管理器navicat中创建表ballot如下图所示:
4、项目完成后的文件列表如下图所示:
5、JdbcDao包中部分代码错误,如下图所示:
五、总结
虽然这次的实验没有得出最后的结果,但是在不断尝试的过程中,对JSP 的开发模式有了进一步的了解,大致掌握了JavaBean的基本概念以及JSP应用JavaBean的方法。

相关文档
最新文档