Web软件技术实验指导书

Web软件技术实验指导书
Web软件技术实验指导书

实验一简单的Servlet与JSP

一、实验目的

1. 了解和掌握Servlet和JSP页面的编写和运行。

2. 比较Servlet与JSP的区别和联系,体会动态页面的含义。

二、实验原理

Servlet是运行在服务器端的Java程序,它主要是为了扩展服务器的功能。编写和运行Servlet一般要经过4个步骤:(1)编辑源文件,它是继承HttpServlet的Java类;(2)编译源文件;(3)在服务器中部署该Servlet,即将类文件存放到服务器的适当目录中,并修改web.xml部署描述文件;(4)使用浏览器访问该Servlet程序。

JSP是一种服务器端的动态页面技术,它的实质也是Servlet。它的编写较Servlet容易。二者的主要区别是:Servlet通常是实现业务逻辑,而JSP通常实现表示逻辑。

三、实验内容与步骤

(一)编写和运行一个简单的Servlet

【步骤1】在Tomcat安装目录的webapps下建立一个helloapp的目录,在其中再建立一个WEB-INF目录,在WEB-INF目录中建立一个classes目录。这样就建立了一个名为helloapp 的Web应用程序。

【步骤2】编写下面Servlet类,编译并将类文件放入classes目录中

package com.demo;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HelloServlet extends HttpServlet{

public void service(HttpServletRequest request,

HttpServletResponse response)

throws ServletException,IOException{

PrintWriter out = response.getWriter();

out.println("");

out.println("");

out.println("");

out.println("");

out.println("

Hello World!

");

out.println("");

out.println("");

}

}

【步骤3】在WEB-INF目录中建立一个名为web.xml的文件,该文件为Web应用程序的部署描述文件,简称DD。具体内容如下:

xmlns:xsi="https://www.360docs.net/doc/8e1308412.html,/2001/XMLSchema-instance"

xsi:schemaLocation="https://www.360docs.net/doc/8e1308412.html,/xml/ns/j2ee

https://www.360docs.net/doc/8e1308412.html,/xml/ns/j2ee/web-app_2_5.xsd"

version="2.5">

helloServlet

com.demo.HelloServlet

helloServlet

/hello

【步骤4】在浏览器的地址栏中输入下列地址访问该Servlet。

http://localhost:8080/helloapp/hello

在浏览器的窗口中应该显示Hello, World!内容。

(二)下面的Servlet可显示系统当前时间。请编译并部署该Servlet,然后使用浏览器访问。

package com.demo;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet{

public void service( )

throws ServletException,IOException{

PrintWriter out = ;

out.println("");

out.println("");

out.println("");

out.println("");

out.println(" ");

out.println("

Hello,World!

");

out.println("The time now is:"+new java.util.Date());

out.println("");

out.println("");

}

}

(三)编写下面的JSP文件,将其用hello.jsp名保存到helloapp目录中

A Simple JSP Page

Hello,World!

The time now is:<%=new java.util.Date()%>

使用下面的URL访问该页面:

http://localhost:8080/helloapp/hello.jsp

(四)运行下面的JSP页面square.jsp

<% for ( int i=0; i<10; i++ ) { %>

<% } %>

numbersquared
<%= i %><%= (i * i) %>

(五)改写上述页面,使其运行后产生下列页面。

图1.1 square.jsp运行结果

四、思考题

1. 如何安装配置JDK和Tomcat?

2. 如何在Tomcat中运行Servlet和JSP页面?

实验二HTTP请求对象

一、实验目的

1. 掌握如何获得请求参数;

2. 掌握如何检索请求头;

3. 了解如何通过请求对象获得客户信息;

4. 重点掌握使用请求对象存储数据和请求转发。

二、实验原理

对客户的请求,容器根据请求调用Servlet的相应doXxx()方法,该方法带有两个参数,一个是HttpServletRequest,一个是HttpServletResponse,它们分别表示请求对象和响应对象,它们是容器自动创建的两个对象。可以使用这两个接口定义的若干方法完成有关操作。

三、实验内容与步骤

(一)通过查询串传递请求参数,并在Servlet中检索请求参数

【步骤1】编写下面的Servlet。

package com.demo;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class HelloUserServlet extends HttpServlet{

public void service(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException{

String userName = request.getParameter("userName");

PrintWriter pw = response.getWriter();

pw.println("");

pw.println("");

pw.println("");

pw.println("");

pw.println("

Hello, " + userName + "

");

pw.println("");

pw.println("");

}

}

【步骤2】编译该Servlet,然后修改web.xml文件,将下面代码添加到其中:

helloUserServlet

com.demo.HelloUserServlet

helloUserServlet

/hellouser

【步骤3】使用下面的URL访问之。

http://localhost:8080/helloapp/hellouser?userName=John

将userName的值改为你自己的名字,看输出结果。若不给出查询字符串,结果如何?参数值使用汉字如何?

(二)通过表单传递请求参数,使用HttpServletRequest对象获得请求参数

【步骤1】首先编写一个input.html文件,存放在helloapp目录中。该页面在屏幕上显示一个表单,其中包括姓名和年龄域,点击“确定”按钮后,将表单参数传递给ParamServlet 并显示出来。

input.html代码如下:

参数传递

从表单向Servlet传递参数

姓名:

年龄:

【步骤2】编写ParamServlet.java,其代码如下:

package com.demo;

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class ParamServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

response.setCharacterEncoding("gb2312");

response.setContentType("text/html;charset=gb2312");

String name = request.getParameter("name");

name = new String(name.getBytes("iso8859-1"),"gb2312");

String age = request.getParameter("age");

age = new String(age.getBytes("iso8859-1"),"gb2312");

PrintWriter pw = response.getWriter();

pw.println("");

pw.println("");

pw.println("");

pw.println("");

pw.println("

姓名:"+name+"

");

pw.println("

年龄:"+age+"

");

pw.println("");

pw.println("");

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

doGet(request, response);

}

}

【步骤3】修改web.xml文件,将下面代码添加到其中:

ParamServlet

com.demo.ParamServlet

ParamServlet

/paramtest

【步骤4】测试参数传递。在浏览器的地址栏中输入:http://localhost:8080/helloapp/input.html。输入数据,点击“确定”按钮,体会表单参数的传递。

问题1:如何通过超链接的锚标签()传递请求参数?

(三)编写一个Servlet,显示所有请求头

【步骤1】ShowHeadersServlet.java的Servlet能够检索所有的请求头,代码如下:

package com.demo;

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class ShowHeadersServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

response.setContentType("text/html;charset=gb2312");

PrintWriter out = response.getWriter();

out.println("");

out.println("All Headers");

out.println("");

out.println("");

out.println("

All Request Headers

");

out.println("

\n"+

"

\n"+

"

Header NameHeader V alue");

Enumeration headerNames = request.getHeaderNames();

while(headerNames.hasMoreElements()){

String headerName = (String)headerNames.nextElement();

out.println("

"+headerName);

out.println("

"+request.getHeader(headerName));

}

out.println("

\n");

}

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException{

doGet(request, response);

}

}

【步骤2】修改web.xml,加入下面内容:

ShowHeadersServlet

/showheaders

【步骤3】在浏览器地址栏中输入下面URL访问该Servlet

(四)简单的综合应用

【步骤1】创建一个名为input.html的HTML页面,其中包括一个表单,表单中包含两个文本域,分别供用户输入学号和姓名,该页面也包含提交和重置按钮。

【步骤2】定义一个名为com.demo.Student类,其中包括学号sno和姓名name两个private 的成员变量,定义访问和修改sno和name的方法。

【步骤3】编写名为FirstServlet的Servlet,要求当用户在input.html中输入信息后点击“提交”按钮,请求FirstServlet对其处理。在FirstServlet中使用表单传递的参数(学号和姓名)创建一个Student对象并将其作为属性存储在请求对象中,然后获得通过请求对象的getRequestDispatcher()方法获得RequestDispatcher()对象,将请求转发到SecondServlet。

【步骤4】在SecondServlet中取出请求对象上存储的Student对象,并显示输出该学生的学号和姓名。在SecondServlet的输出中应该包含一个超链接,点击该连接可以返回input.html页面。

图2.1 input.html 页面显示结果 图2.2 SecondServlet 显示结果

四、思考题

1. 在Servlet 中如何获得请求参数?

2. 如何实现请求转发?如何在请求对象中共享数据?

实验三 HTTP 响应对象

一、实验目的

1. 了解和掌握如何从响应对象获得输出流对象;

2. 掌握如何设置响应类型;

3. 掌握如何设置响应头和状态码;

4. 重点掌握如何实现响应重定向。 二、实验原理

对Servlet 的请求目的是要获得响应消息。Servlet 要向用户发送响应数据首先要获得输出流对象。另外,通过响应对象还可向客户端发送状态码,也可以设置有关响应头,还可以对响应重定向。

三、实验内容与步骤

(一) 通过设置响应内容类型构建Excel 电子表格 package com.demo; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*;

public class ExcelServlet extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

response.setHeader("Cache-Control","no-cache");

response.setContentType("application/vnd.ms-excel;charset=gb2312"); PrintWriter out = response.getWriter();

out.println("

Student information

"); out.println("学号\t 姓名\t 性别\t 年龄\t 所在系"); out.println("95001\t 李勇\t 男\t20\t 信息"); out.println("95002\t 刘晨\t 女\t19\t 数学"); } }

该程序的运行结果如下图所示:

图3.1 生成Excel电子表格

(二)向客户发送二进制文件

package com.demo;

import java.io.*;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class DownloadServlet extends HttpServlet{

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException{

response.setContentType("application/jar");

File f = new File("C:\\servlet-api.jar");

FileInputStream is = new FileInputStream(f);

ServletOutputStream os = response.getOutputStream();

byte[] bytearray = new byte[1024];

int bytesread = 0;

while( (bytesread = is.read(bytearray) ) != -1 ){

os.write(bytearray, 0, bytesread);

}

os.flush();

}

}

注意:此Servlet正确运行,需要将servlet-api.jar文件复制到C盘根目录下。

(三)下面的ShowTimeServlet通过设置refresh响应头实现每2秒钟刷新一次页面。package com.demo;

import java.io.*;

import java.util.*;

import java.text.SimpleDateFormat;

import javax.servlet.*;

import javax.servlet.http.*;

public class ShowTimeServlet extends HttpServlet{

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException{

response.setContentType("text/html;charset=gb2312");

response.setHeader("refresh","2");

PrintWriter out = response.getWriter();

Date date = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd a HH:mm:ss");

String s = sdf.format(date);

out.println("");

out.println("");

out.println("

每5秒钟刷新一次页面

");

out.println("

现在的时间是:"+s+"

");

out.println("");

out.println("");

}

}

(四)响应重定向

【步骤1】建立下面的login.html登录页面

Login Page

cellpading="2" cellspacing="1">

【步骤2】编写一个名为RedirectServlet的Servlet,在其中检索用户名和口令参数值,然后判断其是否正确(若用户名和口令都为admin即认为正确),如果正确将响应重定向到welcome.html页面,否则将响应重定向到error.html页面,这两个页面请你自己编写,存放在应用程序根目录。下面是Servlet的部分代码。

package com.demo;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class RedirectServlet extends HttpServlet{

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws IOException,ServletException{

// 此处添加若干代码

if( ){

response.sendRedirect( );

}else{

response.sendRedirect( );

}

}

}

四、思考题

1. 如何理解Servlet的生命周期?

2. 如何理解请求转发与响应重定向?

实验四Servlet容器模型

一、实验目的

1. 掌握Web应用程序的DD文件web.xml的配置方法和作用;

2. 掌握如何通过ServletConfig获取Servlet的初始化参数;

3. 掌握ServletContext的概念,如何获得ServletContext对象;

4. 掌握如何通过RequestDispatcher转发请求。

二、实验原理

Web应用程序有严格定义的目录结构,它需要一个称为部署描述文件的文件web.xml 来配置。对应用程序的每个Servlet,可以在web.xml中定义若干个初始化参数,然后通过ServletConfig对象获取这些参数。

ServletContext对象表示该应用程序的环境,通过该对象可以获得应用程序范围的初始化参数、容器版本信息、资源的URL、在其中存放共享数据以及登录日志等。

三、实验内容与步骤

(一)建立一个名为bookstore的Web应用程序

在Tomcat的webapps目录下,建立一个如下所示的目录结构:

|- bookstore

|- html (包含所有的HTML文件)

|- jsp (包含所有的JSP文件)

|- images (包含所有的GIF、JPEG和BMP图象文件)

|- index.html (默认的HTML文件)

|- WEB-INF

|-classes

├ lib

├ web.xml

图4.1 bookstore应用程序的目录结构

这样就建立了一个名为bookstore的Web应用程序,本实验后面的题目都在该应用程序下面完成。

(二)使用ServletConfig检索Servlet的初始化参数

【步骤1】编写ConfigDemoServlet程序,内容如下:

package com.demo;

import java.io.*;

import java.sql.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class ConfigDemoServlet extends HttpServlet{

String servletName=null;

ServletConfig config=null;

String email=null;

String telephone=null;

public void init() {

config = getServletConfig();

servletName = config.getServletName();

email = config.getInitParameter("email");

telephone = config.getInitParameter("telephone");

}

public void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException,IOException{

response.setContentType("text/html;charset=gb2312");

PrintWriter out = response.getWriter();

out.println("");

out.println("Servlet名称:"+servletName+"
");

out.println("Email地址:"+email+"
");

out.println("电话:"+telephone);

out.println("");

}

}

【步骤2】修改web.xml文件,在其中添加下面Servlet定义和初始化参数定义

configDemoServlet

com.demo.ConfigDemoServlet

email

hacker@https://www.360docs.net/doc/8e1308412.html,

telephone

8899123

1

configDemoServlet

/configDemo.do

【步骤3】在浏览器的地址栏中输入下面URL访问该Servlet:

http://localhost:8080/bookstore/configDemo.do

程序运行结果如下图所示:

图4.1 ConfigDemoServlet程序的运行结果

(三)ServletContext的使用

修改上面程序,将email地址和电话使用ServletContext初始化参数传递给ConfigDemoServlet。使用ServletContext对象将email地址和电话信息写入日志文件中,并查看日志文件。

(五)下面是一个Servlet,它可以获得有关服务器的信息。

package com.demo;

import java.io.*;

import java.util.*;

import javax.servlet.*;

public class ServerInfo extends GenericServlet {

public void service(ServletRequest request, ServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=GB2312");

PrintWriter out = response.getWriter();

ServletContext sc = getServletContext();

out.println("");

out.println("");

out.println("");

out.println("获取服务器端信息");

out.println("");

out.println("");

out.println("

服务器端信息:

");

out.println("

用户名:
密  码:

 

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

");

out.println("

站点名" + request.getServerName() + "
端口号" + request.getServerPort() + "
服务器类型" + sc.getServerInfo() + "
支持Servlet版本"+sc.getMajorVersion()+"."+sc.getMinorVersion()+"
服务器属性");

// 获得服务器属性集合

Enumeration attributes = sc.getAttributeNames();

while (attributes.hasMoreElements()) {

String name = (String)attributes.nextElement();

out.println(name);

out.println("

");

out.println("");

out.println("");

}

}

四、思考题

1. 如何通过ServletConfig获得Servlet参数?

2. 如何获得ServletContext对象,如何通过该对象获得上下文参数?

3. 如何使用ServletContext共享数据?

实验五会话管理

一、实验目的

1. 了解Web服务器对客户跟踪的各种方法;

2. 重点掌握使用HttpSession对象跟踪会话的方法;

3. 掌握使用Cookie技术跟踪会话的方法;

4. 了解URL重写和隐藏表单域的方法。

二、实验原理

HTTP协议是无状态的协议。在很多情况下,Web服务器必须能够跟踪客户的状态。比如,对于一个购物网站,在一个时刻可能有多个客户购物,Web服务器必须能够区分不同的客户。一般情况下,Web服务器为每个客户配置了虚拟的购物车(ShoppingCart)。当某个客户请求将一个商品放入购物车时,Web服务器必须根据发出请求的客户的身份,找到该客户的购物车,然后把商品放入其中。

Web服务器跟踪客户的状态通常有4种方法:

(1)使用HttpSession对象管理会话;(2)使用持久的Cookie对象;(3)使用URL重写机制;(4)使用隐藏的表单域。

三、实验内容与步骤

(一)使用HttpSession对象管理会话。

package com.demo;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

import java.util.Date;

public class ShowSession extends HttpServlet{

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

HttpSession session = request.getSession();

String heading =null;

Integer accessCount = (Integer)session.getAttribute("accessCount");

if(accessCount==null){

accessCount = new Integer(0);

heading = "Welcome, Newcomer";

}else{

heading = "Welcome Back.";

accessCount = new Integer(accessCount.intValue()+1);

}

session.setAttribute("accessCount",accessCount);

PrintWriter out = response.getWriter();

out.println("");

out.println("Session Tracking Example");

out.println("

");

out.println("

"+heading+"

");

out.println("

Information about your session.

");

out.println("

");

out.println("

Info TypeValue\n");

out.println("

ID"+session.getId()+"\n");

out.println("

Creation Time:");

out.println(""+new Date(session.getCreationTime())+"\n");

out.println("

Time of last access:");

out.println(""+new Date(session.getLastAccessedTime())+"\n");

out.println("

Access number:"+accessCount+"\n");

out.println("

");

}

}

图5.1 ShowSession程序的运行结果

(二)使用Cookie跟踪会话

使用Cookie跟踪会话涉及到向客户端写入Cookie和从客户端读取Cookie。【步骤1】向客户端写入Cookie对象

package test;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class SendCookie extends HttpServlet{

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws IOException,ServletException{

Cookie userCookie = new Cookie("user", "uid1234");

userCookie. setMaxAge(60*60*24*7);

response.addCookie(userCookie);

response.setContentType("text/html");

PrintWriter out=response.getWriter();

out.println("add cookies");

out.println("

"+

"A cookie has been sent to brower

");

out.println("");

}

}

访问上述Servlet将向客户端写入一个Cookie,执行后可查看客户机对应目录看是否写了一个文件。

图5.2 SendCookie程序的运行结果

【步骤2】从客户端读取Cookie对象

package test;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class GetCookie extends HttpServlet{

public void doGet(HttpServletRequest

request,HttpServletResponse response)

throws IOException,ServletException{

String cookieName = "user";

String cookieValue = null;

Cookie[] cookies = request.getCookies();

if (cookies!=null){

for(int i = 0;i

Cookie cookie = cookies[i];

if(cookie.getName().equals(cookieName))

cookieValue = cookie.getValue();

}

}

response.setContentType("text/html");

PrintWriter out=response.getWriter();

out.println("get cookies");

out.println("

A cookie has been got from brower

");

out.println("CookieName:"+cookieName+"
");

out.println("CookieValue:"+cookieValue+"
");

out.println("");

}

}

图5.3 GetCookie程序的运行结果

四、思考题

1. 简述会话管理的常用方法有哪些?

2. 如何使用HttpSession对象共享数据?

实验六JSP基本语法与页面指令

一、实验目的

1. 熟练掌握JSP的声明、表达式、小脚本和注释的使用;

2. 理解JSP页面(page)指令和动作的语法格式;

3. 理解JSP页面的生命周期。

4. 熟练掌握page指令的下面的属性:import、session、errorPage、isErrorPage、contentType、pageEncoding。

5. 理解page指令的下面的属性:language、extends、buffer、autoFlush、info。

二、实验原理

JSP有三个指令元素:page、include和taglib。这些指令元素是针对JSP引擎的,并不会产生任何看得见的输出。它们都包含在<%@和%>标签内。本实验主要学习page指令。

<%@ page %>指令作用于整个JSP页面,包括静态包含的页面,但不包括动态包含的页面。可以在一个页面中包含多个<%@ page %>指令,但其属性除import外只能在整个页面中出现一次。

<%@ page %>指令可以放在页面的任何位置,但为了JSP程序的可读性,一般将<%@ page %>指令放在页面的前面。

三、实验内容与步骤

(一)输入并执行下面JSP页面,文件名为counter.jsp

<%@ page language="java" %>

<%! int count = 0; %>

<% count++; %>

Welcome! You are visitor number

<%= count %>

【步骤1】该JSP页面包含哪些JSP语法元素。在浏览器中访问该页面,输出结果如何?多次刷新页面,结果如何?

【步骤2】打开counter.jsp转换后的源文件counter_jsp.java,对应的类文件在哪里?文件名是什么?

【步骤3】查看count变量是在哪里声明的?

【步骤4】将上面JSP页面中的<%! int count = 0; %>一行改为<% int count = 0; %>,页面能否正常执行,它与上面页面有什么区别?

(二)有下面expression.jsp页面:

<%@ page language="java" %>

<%!

int anInt = 3;

boolean aBool = true;

Integer anIntObj = new Integer(3);

Float aFloatObj = new Float(8.6);

String str = "some string";

StringBuffer sBuff = new StringBuffer();

char getChar(){ return 'A'; }

%>

<%= 500 %>

<%= anInt*3.5/100-500 %>

<%= aBool %>

<%= false %>

<%= !false %>

<%= getChar() %>

<%= Math.random() %>

<%= aVector %>

<%= aFloatObj %>

<%= aFloatObj.floatValue() %>

<%= aFloatObj.toString() %>

<%= aBool; %>

<%= int i = 20 %>

<%= sBuff.setLength(12); %>

你能找出其中的错误吗?你可试着执行该页面,看会出现什么结果?将其中错误修改过来,最后输出下面结果:

图6.1 expression.jsp的运行结果

(三)运行下面persistent_counter.jsp页面,体会如何实现持久的计数器的?

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

<%!

int count = 0;

String dbPath;

public void jspInit(){

try{

dbPath = getServletContext().getRealPath("/WEB-INF/counter.db");

FileInputStream fis = new FileInputStream(dbPath);

DataInputStream dis = new DataInputStream(fis);

count = dis.readInt();

dis.close();

}

catch(Exception e){

log("Error loading persistent counter", e);

}

}

%>

<%--下面是向浏览器输出的主要内容,

它将成为产生的_jspService()方法的一部分

--%>

<% count++; %>

Welcome! You are <%= count %> th visitor(s).

<%!

public void jspDestroy(){

try{

FileOutputStream fos = new FileOutputStream(dbPath);

DataOutputStream dos = new DataOutputStream(fos);

dos.writeInt(count);

dos.close();

}

catch(Exception e){

log("Error storing persistent counter", e);

}

}

%>

(四)输入并运行下面的import_test.jsp页面:

<%@ page import="java.util.Date,java.text.DateFormat;" %>

page指令示例

使用page指令导入java.util.Date类

<% Date date = new Date();

String s = DateFormat.getDateInstance().format(date);

String s2 = DateFormat.getDateInstance(DateFormat.FULL).format(date); %>

现在的时间是:<%=s%>

现在的时间是:<%=s2%>

访问上述JSP页面,输出结果如下图所示:

图6.2 import_test.jsp页面的运行结果

可以看到页面中最后一行的中文显示为乱码,将下面代码加到JSP页面中:

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

重新访问页面,中文显示正常。这说明可以使用page指令的contentType属性指定页面输出使用的字符编码。默认情况下,JSP页面使用的字符集是iso-8859-1编码,如使用汉字编码应指定为gb2312或gbk。

(五)errorPage属性和isErrorPage属性的使用。

【步骤1】下面的hello.jsp页面执行时将抛出一个异常,它指定了错误处理页面为errorHandler.jsp。

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

<%@ page errorPage="errorHandler.jsp" %>

<%

String name = request.getParameter("name");

if (name == null){

throw new RuntimeException("没有指定name 属性。");

}

%>

Hello, <%= name %>

【步骤2】下面的errorHandler.jsp是错误处理页面。

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

<%@ page isErrorPage="true" %>

请求不能被处理:<%=exception.getMessage()%>

请重试!

用下面的URL访问hello.jsp页面,就会产生下面结果:

http://localhost:8080/bookstore/hello.jsp

图6.3 errorHandler.jsp页面的运行结果

这说明没有提供name参数,hello.jsp页面中抛出RuntimeException异常,所以调用错误页面。

如果使用下面URL访问 hello.jsp页面,将产生下面正常的页面:

http://localhost:8080/bookstore/hello.jsp?name=Mary

图6.4 hello.jsp页面的运行结果

注意:如果请求参数值使用汉字,仍然产生乱码,例如:

http://localhost:8080/bookstore/hello.jsp?name=欧阳清风

这是因为请求参数默认使用iso-8859-1编码传递,如果要正确显示中文,应将请求参数编码转换为gb2312编码。

按下面方法修改hello.jsp页面,将请求参数值编码转换为汉字编码。

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

<%@ page errorPage="errorHandler.jsp" %>

<%

String name = request.getParameter("name");

if (name==null){

throw new RuntimeException("没有指定name 属性。");

}

else{

// 将字符串name的字符编码转换为汉字编码

name = new String(name.getBytes("iso-8859-1"),"gb2312");

}

%>

Hello, <%=name %>

四、思考题

1. JSP语法元素有哪些?使用时应注意什么问题?

2. JSP页面的生命周期有哪几个阶段?

3. 如何理解JSP页面本质上是Servlet?

4. page指令有哪些常用的属性,各自的功能是什么?

实验七JSP隐含对象与作用域

一、实验目的

1. 掌握全部9个隐含对象的使用;

2. 理解4种作用域对象。

二、实验原理

在JSP页面的转换阶段,JSP引擎在_jspService()方法中声明并初始化了9个隐含对象,它们主要是为了方便在JSP页面对这些对象的访问。这些隐含对象包括:application、session、request、response、out、page、pageContext、config、exception。

#(16课时)数据库实验指导书

《数据库原理及使用》实验指导书 (适用于计算机科学和技术、软件工程专业) 热风器4 计算机科学和技术学院 2011年12月 ⒈本课程的教学目的和要求 数据库系统产生于20世纪60年代末。30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。数据库原理是计算科学和技术专业重要的专业课程。 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库使用的基本训练,提高其解决实际问题的能力。 ⒉实验教学的主要内容 数据库、基本表、视图、索引的建立和数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库使用系统的设计实现。 ⒊实验教学重点 本课程的实验教学重点包括: ⑴数据库、基本表、视图、索引的建立和数据的更新; ⑵SQL的数据查询; ⑶恢复、完整性和安全性实现机制; ⑷简单数据库使用系统的设计实现; 4教材的选用 萨师煊,王珊.数据库系统概论(第四版).北京:高等教育出版社.2006,5 实验1创建数据库(2学时) 实验目的 1.学会数据表的创建; 2.加深对表间关系的理解; 3.理解数据库中数据的简单查询方法和使用。 实验内容 一、给定一个实际问题,实际使用问题的模式设计中至少要包括3个基本表。使用问题是供应商给工程供应零件(课本P74)。 1.按照下面的要求建立数据库: 创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,

计算机网络与WebGIS上机实验指导

苏州市职业大学 计算机网络与WebGIS实验报告 姓名: 学号: 学院: 班级:

实验一利用HTML制作表单 1.实验目的 了解掌握HTML语言:基础知识、编辑文档、超链接;图像与多媒体、表格、框架和表单 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、记事本 3.实验内容 利用所学HTML语言完成表单制作,界面可参考图1,在制作过程中了解HTML文档的基本格式,尤其是表单标签

的具体应用,为与服务器交互提供前端界面。 图1 表单制作

实验二 ASP制作留言簿 1.实验目的 了解并掌握ASP基本结构、脚本语言VBScript、JavaScript、ASP五大对象(Response、Request、Session、Application、Server)的使用、掌握Web数据库的操作。 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、IIS、Access 3.实验内容 编写ASP程序实现一个留言簿,要求留言信息存储在Access数据库中。(图3-1为示例,源文件见Board文件夹) 图3-1制作留言簿

实验三熟悉目前常用的网络地图服务google earth 使用 百度地图和E都市等 实验六熟悉ArcIMS 1.实验目的 了解ArcGIS网络地图发布产品-ArcIMS的安装与配置,并能根据向导完成地图发布。 2.实验要求 硬件:GIS机房配置已达到要求; 软件:Win2000/WIN XP、ArcIMS4.0 3.实验内容 (1)安装Microsoft IIS服务 (2)安装JA V A程序运行支持平台,这里安装了JA V A2的最新版版本 (j2re-1_4_2_04-win-i) (3)安装服务器连接器ServletExec,这是安装ARCIMS中自带的ServletExec_ISAPI_411版本 (4)安装ArcIMS(确保ArcGIS license 已经安装) 运行Diagnostics诊断工具,如果出现图4-1表示安装成功 4-1 4-2

“web服务实用技术”课程实验指导书

必做实验 实验一Web服务开发环境配置(2课时) 一、实验目的 1.学习理解web服务的概念。 2.掌握Web服务开发环境的配置。 3.熟悉Web服务开发工具的使用。 二、实验内容 1.安装配置Eclipse; 2.安装配置Axis2; 3.为Eclipse安装配置Axis2插件; 4.查阅帮助文档,熟悉开发环境。 三、实验仪器、设备 PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间 四、实验原理 1.Eclipse平台 Eclipse是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。基于Eclipse的应用程序的突出例子是IBM的WebSphere Studio Workbench,它构成了IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。 2.Axis2 是下一代Apache Axis。Axis2虽然由Axis 1.x处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2基于新的体系结构进行了全新编写,而且没有采用Axis 1.x的常用代码。支持开发Axis2的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关Web服务标准和协议(如WS-Security、WS-ReliableMessaging 等)的实现中。

Axis2的主要优点有 1)采用名为AXIOM(AXIs Object Model)的新核心XML处理模型,利用新的XML 解析器提供的灵活性按需构造对象模型。 2)支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP 请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。 3)提供阻塞和非阻塞客户端API。 4)支持内置的Web服务寻址(WS-Addressing)。 5)灵活的数据绑定,可以选择直接使用AXIOM,使用与原来的Axis相似的简单数据绑定方法,或使用XMLBeans、JiBX或JAXB 2.0等专用数据绑定框架。 6)新的部署模型,支持热部署。 7)支持HTTP,SMTP,JMS,TCP传输协议。 8)支持REST (Representational State Transfer)。 五、实验步骤(略) 见《Developing Web Services with Apache Axis2》P10-P26 六、实验思考题 1.什么是Web服务? 2.Web服务开发环境主要有哪些? 3.请查阅各Web服务开发环境的性能。

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

《Web前端开发》-实验指导书

《Web前端开发》实验指导书

目录 实验1 HTML基础与布局元素 (3) 实验2 表格与表单的应用 (6) 实验3 框架 (8) 实验4 CSS样式表基础 (12) 实验5 CSS样式布局 (16) 实验6 Dreamweaver制作网页 (19) 实验7 网站设计 (22) 实验8 JavaScript基础 (26) 实验9 JavaScript对象 (29) 实验10 DOM编程 (33) 实验11 JavaScript常用特效 (36)

实验1 HTML基础与布局元素一、实验目的 1.掌握使用HTML的基本结构创建网页 2.掌握使用行级和块级标签组织页面内容 3.掌握使用图像标签实现图文并茂的页面 二、实验内容 使用HTML基本元素设计基本网页 三、实验环境 (1)使用的操作系统及版本。 Windows XP Professional (2)使用的编译系统及版本。 Dreamweaver CS6 四、实验步骤及说明 任务1基本块级元素 使用HTML编辑工具,编写HTML代码,实现如图所示的页面效果 任务2用于布局的块级元素

编写HTML代码,实现如图所示的页面效果 任务3行级元素 编写HTML代码,实现如图所示的页面效果。 任务4超链接 编写HTML代码,实现导航菜单的链接 ●单击lj.html页面的“人物简介”,将跳转到ww.html的介绍页。 ●单击lj.html页面的“王孟”,将跳转到设置锚点的ww.html页面相应位置。 ●单击ww.html的返回链接可以返回到lj.html。 ●单击“联系我们”,将自动打开本机的电子邮件程序。

《WEB程序设计》实验指导书

《WEB程序设计》实验指导书 上机实验1 PWS及IIS的安装与使用 上机实验2 使用HTML语言制作简单网页 上机实验3 用VBScript脚本语言设计程序 上机实验4 设计网站的登录界面 上机实验5 实现网站的在线交流功能 上机实验6 利用Server对象的CreateObject方法创建文件访问对象 上机实验7 使用广告轮显组件设计一广告页面 上机实验8 使用content linking组件设计一电子书籍 上机实验9 设计并实现一个网页的会员注册功能 上机实验10 实现《Web程序设计》课程网站中用户登录功能 上机实验11 设计并实现一个网站作业提交系统 上机实验1 PWS及IIS的安装与使用 【目的】是要求学生能够熟练掌握PWS的各个功能,能够熟练的调试WEB程序并能将其发布。【内容】1、web服务器的安装与设置 2、web虚拟目录的创建与设置 3、html、asp文件的编写与运行方法 【步骤】 (1)在硬盘上建立一个文件夹,用于存放网站文件。 (2)用“记事本”编写一个HTML文件(the first.htm)和一个ASP文件(thefile.asp),其中**为学生本人的学号,并将其放在前面建立的文件夹中。 (3)确认机器已安装了IIS,如果没有,请自行安装。 (4)设置“默认网站”的“主目录”为前面建立的文件夹,执行thefile.htm和thefile.asp,反复执行直至结果正确。 (5)设置“默认网站”的“默认文档“为thefile.htm或thefile.asp,在浏览器中验证结果。 (6)通过局域网访问其它同学创建的网站,验证结果。

(7)修改thefile.htm和thefile.asp文件内容,将其放到硬盘的另一目录中,创建一个名为asp的虚拟目录,重复(4)、(5)、(6)步的实验内容。 上机实验2 使用HTML语言制作简单网页 【目的】了解用HTML语言制作网页的过程。掌握html文档的基本结构;掌握再html语言中使用表格的方法。 【内容】使用HTML语言制作如图1-8所示的简单网页。 图1-8 简单网页示例 【步骤】 (1)打开记事本程序。 (2)输入能够生成如图1-8所示网页的HTML代码,保存为.html文件,文件名为ex1-1。(3)双击ex1-1.html文件,在浏览器中观察显示效果 上机实验3 用VBScript脚本语言设计程序 【目的】 (1)掌握将VBScript脚本嵌入HTML文件的方法。 (2)掌握使用VBScript脚本语言设计应用程序的过程。 (3)掌握基本的VBScript语法。 【内容1】用VBScript脚本语言设计一个简单的验证程序:要求在文本框中输入一个1~100之间的整数,单击“提交”按钮。若输入正确,则弹出对话框,显示“你输入对了,谢谢!”,如图3-12所示;若输入不正确,则弹出对话框,显示“请输入一个1到100之间的数字。”,如图3-13所示。

__WEB开发技术基础上级实验指导书三_JAVASCRIPT

《WEB开发技术基础》课程实验指导书实验3Javascript实验指导书三 一实验目的: 学习使用网页制作工具DreamWeaver,浏览器开发Web应用,掌握使用JavaScipt进行表单信息验证和表单信息操作。 二实验内容: 编写三个html页面,实现”实验三效果.avi”中的效果。 三实验步骤: 1、创建register.html页面,该页面中显示的内容如下: 2、编写javascript代码,包括下列函数: function isValidate()//验证表单信息,该函数中调用以下相关函数进行操作 function isNull(str)//验证是否是空 function minLength(str,length)//验证是否满足最小长度 function maxLength(str,length)//判断是否满足最大长度 function isDigital(str)//判断1个字符是否是数字 function isNumber(str)//判断是否是整数 function isDate(date)//判断是否是日期,日期的格式为1988-1-1 function validateAndSubmit()//提交按钮绑定的方法,该方法要求在form属性中进行绑定 function forwardSelectTest()//select测试按钮绑定的方法,该方法要求在javascript代码中进行绑定

3、如果用户名、口令和生日信息通过验证,则弹出提示框显示用户表单输入的信息,并且转到checkboxTest.html页面,否则重新显示本页面。 4、checkboxTest.html页面内容如下: 其中单击全选按钮,所有选项被选中,单击取消全选,所有选项都不被选中,单击显示信息按钮在一个label内显示选中项的value值 该页面JavaScript代码包括三个函数如下: function selectAll(formName,cbName)//CheckBox全选 function unSelectAll(formName,cbName)//CheckBox取消全选 function showInfo(formName,cbName)//显示选中的value值 5、在register.html页面单击“select测试按钮”显示“selectTest.html”,该页面显示内容如下: 该页面中包括两个select组件和四个按钮,四个按钮的功能分别为:向右移动选中项,向右移动所有项,向左移动选中项,向左移动所有项 该页面JavaScript代码包括如下三个函数: function init()///对下拉框信息进行初始化 function move(s1,s2)//把选中的选项从s1移动到s2 function moveAll(s1,s2)//把所有选项s1移动到s2 实验报告中手写提交三个页面的JavaScript代码

2013《数据库技术及应用》实验指导书资料

《数据库技术及应用》实验指导书

实验环境 1.软件需求 (1)操作系统:Windows 2000 Professional,或者Windows XP (2)数据库管理系统:SQL Server2000 (3)应用开发工具:Delphi7.0 (4)其它工具:Word 2.硬件需求 (1)PC机 (2)网络环境

基本需求信息 一、对某商场采购销售管理进行调研后,得到如下基本需求信息: 该商场有多名工作人员(主要是采购员和销售员),主要负责从供应商处采购商品,而后将商品销售给客户。采购员主要负责根据商场的销售情况确定要采购的商品,并与供应商联系,签订采购单。销售员主要负责将采购来的商品销售给客户,显然一个客户一次可能购买多种商品。一个供应商可以向该商场供应多种商品,而一种商品也可以由多个供应商供应。 商场的管理者每个月需要对该月已采购的商品和已销售的商品进行分类统计,对采购员和销售员的业绩进行考核,对供应商和客户进行等级评定,并计算商场利润。 二、E-R图 三、需要建立的数据表如下 1.供应商表:供应商ID,供应商名称,地区,信誉等级 2.供应表:供应商ID,商品ID,商品单价 3.商品表:商品ID,商品名称,商品库存量,商品均价 4.采购单表:采购单ID,采购员ID,供应商ID,采购总金额,签订日期 5.采购明细表:采购单ID,商品ID,采购数量,商品单价 6.销售单表:销售单ID,销售员ID,客户ID,销售总金额,签订日期 7.销售明细表:销售ID,商品ID,销售数量,商品单价,单价折扣 8.客户表:客户ID,客户名称,联系电话,客户等级 9.职员表:职员ID,职员姓名,职员类型

数据库实训指导书

《数据库》实训计划 课程名称:数据库原理及应用 一、课程简介 《数据库原理及应用》课程是我院计算机科学与技术专业的一门重要专业课程,是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。可以说数据库技术渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业。因此本课程的教学既要向学生传授一定的数据库理论基础知识,又要培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力。 二.课程实验 实验题目 1.学籍管理系统 2.图书档案管理系统 3.企业人事管理系统 4.工资管理系统 5.用户和权限管理系统。 6.仓库管理系统。 7.企业进销存管理系统。 8、超市管理系统 10、酒店管理系统 11、旅游管理系统 12、高考成绩信息管理系统

13、医院信息管理系统 14、银行计算机储蓄系统 15、 ICU监护系统 16、可自拟题目 任选一题按照下列实验纲要进行设计。 实验纲要 1、实验目标 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库应用的基本训练,提高其解决实际问题的能力。 2、实验内容 数据库的模式设计;数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括嵌套查询、连接查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库应用系统的设计实现。 给定一实际问题,让学生自己完成数据库模式的设计,包括各表的结构(属性名、类型、约束等)及表之间的关系,在选定的DBMS上建立数据库表。用SQL命令和可视化环境分别建立数据库表,体会两种方式的特点。 3、实验教学重点 本课程的实验教学重点包括:⑴数据库的模式设计;⑵SQL的数据查询; ⑶并发控制、恢复、完整性和安全性实现机制;⑷简单数据库应用系统的设计实现; 实验1:数据库的创建

《Web开发技术》实验指导书的模板(JSP版)

《Web开发技术》实验指导书模板 (JSP版)

目录 实验一搭建JSP运行的实验环境 (1) 实验二JSP页面 (3) 实验三显示不同大小的“你好JSP” (7) 实验四JSP指令和动作 (10) 实验五Tag文件的代码复用 (12) 实验六中文显示服务器端日期 (14) 实验七JSP内置对象 (19) 实验八session对象 (23) 实验九简易留言板 (28) 实验十JSP中使用Java Bean (31) 实验十一JSP中的文件操作 (41) 实验十二JSP中使用数据库 (48) 实验十三Java Servlet (66) 实验十四网上书店 (71) 实验报告 (76)

实验一搭建JSP运行的实验环境 一、实验目的 (1)掌握JSP运行环境的安装与配置 (2)理解JSP与Servlet的关系 (3)运行简单的JSP页面,理解JSP的运行原理 二、实验工具 (1)JDK1.4、JDK1.5或JDK1.6,可以从SUN公司的网站免费下载 (2)编辑工具-记事本 (3)Tomcat服务器,也可以从网上免费下载 三、实验步骤 (1)按教材中演示安装JDK (2)按教材中演示安装Tomcat (3)启动Tomcat服务器,在浏览器中输入:http://localhost:8080,观察主页内容(4)观察Tomcat安装目录下的各个子目录的内容 (5)打开记事本,输入下列源代码并保存为exer1.jsp。将此文件复制到Tomcat安装目录下的webapps\ROOT目录下,运行该页面,观察其对应的Servlet源代码。 exer1.jsp的代码: <%@ page contentType="text/html;charset=GB2312" %> <%@ page import="java.util.Date" %> <%! Date date; // 数据声明 int sum; public int add(int m,int n) // 方法声明 { return m+n; } %>

程序片创建Date对象: <% Date date=new Date(); //java程序片 out.println("
"+date); sum=add(12,34); %>
在下一行输出和:
<%= sum+100 %>

数据库应用实验指导书

实验指导书 院系: 专业: 课程:大学计算机II-Access数据库应用编者:大学计算机基础教研室

目录 实验一建表 (1) 实验二简单查询 (5) 实验三创建分组查询 (7) 实验四报表的设计 (10) 实验五利用窗体控件手动设计窗体 (12) 实验六设计嵌入式条件宏 (14) 实验七创建一个“跑动的字母”的窗体程序 (16) 实验八实验七的改进程序 (18)

实验一建表 一、实验目的 1.认识Access数据库的基本功能,学会如何利用和不利用模板 创建数据库。 2.练习数据表创建的方法,并能根据需要灵活的创建数据表。 3.能够为建立的表添加表关系。 二、实验要求 1.启动Access,2010,利用“罗斯文”模板建立Access数据库, 观察数据库的主要功能与主要组成部分。 2.新建空白数据库,并在该数据库中新建“客户”表、“员工” 表,“产品”表、“订单”表和“订单明细”表。 3.为建立的5个数据表建立关系。 三、实验原理 利用Access,2010创建一个数据库,并将其保存。创建表和表的关系。 四、实验步骤 1.利用“罗斯文”模板,建立Access数据库,命名为罗斯文1。

2. 新建空白数据库,命名为MyDB1。 3. 在MyDB1中创建4个表:客户、员工、订单、订单明细。 客户表设计视图 客户表各字段及其属性 员工表各字段及其属性

产品表各字段及其属性 订单表各字段及其属性 订单明细表各字段及其属性 4.为“客户”表、“员工”表,“订单”表和“订单明细”建立表 间关系。通过数据库工具-关系-显示表,选择以上四个表,将“客户”表的“ID”字段拖动到“订单”表的“客户ID”处,松开鼠标后,系统弹出“编辑关系”对话框。勾选“实施参照完整性”、“级联更新相关字段”和“级联删除相关记录复选框”。

2016数据库原理实验指导书

信息工程学院 数据库原理实验指导书二零一六年五月

目录 实验一SQL SERVER 2005的安装与启动 (1) 实验二数据库的操作 (11) 实验三SQL SERVER2005查询编辑器 (23) 实验四SQL语言的DDL (31) 实验五SQL语言的DML初步 (34) 实验六DML的数据查询 (36) 实验七数据库综合设计 (40)

实验一SQL Server 2005的安装与启动 一、实验目的 SQL Server 2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。 本次实验了解SQL Server 2005的安装过程,了解SQL Server 2005的启动,熟悉SQL Server 2005软件环境。学会安装SQL Server 2005。 二、实验内容 1.安装SQL Server 2005 (1)将SQL Server 2005(中文开发版)安装盘插入光驱后,SQL Server 2005安装盘将自动启动安装程序;或手动执行光盘根 目录下的Autorun.exe文件,这两种方法都可进行SQL Server 2005的安装。出现如下画面。 (2)选中“运行SQL Server Client 安装向导”进行安装,弹出【最终用户许可协议】界面。

(3)选中【我接受许可条款和条件】选项,单击【下一步】按钮,进入【安装必备组件】界面。 (4)组件安装完成后,单击【下一步】按钮,进入【欢迎使用Microsoft SQL Server 安装向导】界面。

(5)单击【下一步】按钮,进入【系统配置检查】界面。检查完毕将显示检查结果。 (6)检查如果没有错误,单击【下一步】按钮,进入【注册信息】界面。

Web程序设计实验指导书1116

Web程序设计 实验指导书 杨松波 一.实验一C#和实验目的 (1)了解C#语言规范 (2)掌握C#基础语法、流程控制和异常处理等。 (3)掌握创建C#类并应用于Web窗体中的方法。 二.实验内容及要求 1.转换输入的成绩到相应的等级 要求如下: (1)页面浏览效果如图1-1所示 (2)成绩输入使用TextBox控件。 (3)点击Button控件时输出相应的等级信息,其中等级信息输出在一个Label上 图1-1 成绩转换浏览效果 2.在Web窗体上输出九九乘法表 浏览效果如图1-2所示 图1-2 “九九乘法表”浏览效果 3.输入一组以空格间隔的共10个以内的整数,输出该组整数的降序排列 要求如下: (1)页面浏览效果如图1-3所示。 (2)输入使用TextBox控件。 (3)单击Botton控件时输出所有整数的降序排列。 (4)必须使用数组。 图1-3 降序排列浏览效果 4.计算两个数的商 要求如下: (1)页面浏览效果如图1-4和图1-5所示。 (2)输入使用两个TextBox控件。 (3)单击Botton控件时输出两个数的商。 (4)必须包含异常处理。 图1-4 计算商浏览效果(1) 图1-5计算商浏览效果(2) 5.设计一个用户信息类UserInfo 要求如下: (1)包括两个属性:姓名(Name)和生日(Birthday)。

(2)包括一个方法DecideAge()用于判断用户是否达到规定年龄。当年龄大于等于18岁时返回值“XXX,您是成年人了!”; 当年龄小于18岁时返回值“XXX,您还没长大呢!”。 6.将UserInfo类应用于Web窗体中 页面浏览效果如图1-6和图1-7所示。 图1-6 UserInfo类浏览效果图(1) 图1-7 UserInfo类浏览效果图(2) 三.实验步骤 1. 转换输入的成绩到相应的等级 (1)设计Web窗体 新建一个Web窗体,切换到设计视图。如图1-8所示,向页面添加1个TextBox控件、1个Botton控件和1个Lable控件。 图1-8 设计界面 (2)设置属性 Web窗体中各控件的属性设置如表1-1所示。 表1-1 各控件的属性设置表 (3)编写事件代码 按钮btnSubmit被单击时执行的事件代码如下: protected void btnSubmit_Click(object sender, EventArgs e) { float fGrade = ; int iGrade = (int)(fGrade / 10); switch (iGrade) { case 10: case 9: = "优秀"; break; case 8: ="良"; break; case 7: ="中"; break; case 6: ="及格"; break; case 5: case 4:

《JavaWeb开发技术》实验指导书

JavaWeb开发技术实验指导书 J a v a We b开发技术课程组编内蒙古工业大学 信息工程学院软件工程系 2015、11

目录 《JavaWeb开发技术》实验教学大纲 (1) 实验一用户与企业信息添加 (5) 实验二用户后台登陆退出 (7) 实验三企业信息查询修改 (8) 实验四访问权限过滤与在线用户列表 (8)

《JavaWeb开发技术》实验教学大纲一、基本信息 二、实验安排 三、实验目的、内容与要求 1、用户与企业信息添加(8学时) (1) 实验目的 ①掌握Servlet的创建 ②掌握Servlet处理Form表单请求数据 ③掌握Servlet响应的重定向与请求转发 ④掌握HttpServletRequest对象获取清酒参数的中文问题 (2) 实验内容 完成锐聘网站的用户添加、企业的添加。 (3) 实验要求 ①实验前书写预习报告。 ②充分利用JSP的语法完成界面设计。 ③用Servlet实现数据处理部分。 ④记录程序调试中出现的问题与解决方法。 ⑤实验后必须按照要求独立完成实验报告。

⑥打印源程序清单与测试结果附在实验报告的后面。 2、用户后台登陆退出(8学时) (1) 实验目的 ①掌握会话跟踪技术 ②掌握HttpSession对象的创建与使用 ③掌握隐藏表单域的使用 (2) 实验内容 完成锐聘网站后台的用户登陆 完成锐聘网站后台的用户退出 完成锐聘网站登陆验证码生成与验证 (3) 实验要求 ①实验前书写预习报告。 ②用JSP设计界面部分。 ③用HttpSession对象的保存用户的登陆信息。 ④记录程序调试中出现的问题与解决方法。 ⑤实验后必须按照要求独立完成实验报告。 ⑥打印源程序清单与测试结果附在实验报告的后面。 3、企业信息查询修改(8学时) (1) 实验目的 ①掌握Jsp脚本、JSp表达式 ②掌握Jsp的4中作用域 ③掌握Page指令 ④掌握request内置对象 (2) 实验内容 完成锐聘网站后台的企业用户列表查询及显示。 完成锐聘网站后台的企业信息修改预查询。 完成锐聘网站后台的企业信息修改。 (3) 实验要求 ①实验前书写预习报告。 ②信息的采用数据库存储。 ③设计实体类,完成数据的整体传递。 ④使用Sevlet进行数据验证。

数据库实验指导书

数据库实验指导书 (试用版) 二零零六年三月 目录 引言 1 一、课程实验目的和基本要求 1 二、主要实验环境 1 三、实验内容 1 实验1 数据库模式设计和数据库的建立 2 一、教学目的和要求 2 二、实验内容 2 三、实验步骤 2 四、思考与总结 3 实验2 数据库的简单查询和连接查询 4 一、教学目的和要求 4 二、实验内容 4 三、实验步骤 4 四、思考与总结 5 实验3 数据库的嵌套查询和组合统计查询 6 一、教学目的和要求 6 二、实验内容 6 三、实验步骤 6 四、思考与总结 7 实验4 视图与图表的定义及数据完整性和安全性 8 一、教学目的和要求 8 二、实验内容 8 三、实验步骤 8 四、思考与总结 9 实验5 简单应用系统的实现 10 一、教学目的和要求 10 二、实验内容 10 三、实验步骤 10 四、思考与总结 10

附录1:数据库实验报告格式 11 附录2:SQL Server 2000使用指南 12 1 SQL Server 2000简介 12 2 SQL Server 2000的版本 12 3 SQL Server 2000实用工具 12 4 创建数据库 15 5 创建和修改数据表 17 6 创建索引 22 7 存储过程 23 8 触发器 25 9 备份和恢复 27 10 用户和安全性管理 28 引言 数据库技术是一个理论和实际紧密相连的技术,上机实验是数据库课程的重要环节,它贯穿于整个―数据库阶段‖课程教学过程中。 一、课程实验目的和基本要求 上机实验是本课程必不可少的实践环节。学生应在基本掌握各知识点内容的基础上同步进行相关实验,以加深对知识的理解和掌握,达到理论指导实践,实践加深理论的理解与巩固的效果。 数据库课程上机实验的主要目标是: 通过上机操作,加深对数据库系统理论知识的理解。 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握操作技术。 通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。 实验在单人单机的环境下,在规定的时间内,由学生独立完成。出现问题时,教师要引导学生独立分析、解决,不得包办代替。 上机总学时不少于12学时。 二、主要实验环境 操作系统为Microsoft Windows 2000/XP。 数据库管理系统可以选择:(1)Microsoft SQL Server 2000标准版或企业版 (2)Microsoft Access2000 (3)金仓数据库KingbaseES。 三、实验内容 本课程实验主要包括数据库的模式设计,数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括连接查询、嵌套查询、组合查询等;数据库系统的实现技术,包括事务的概念及并发控制、完整性和安全性实现机制;简单数据库应用系统的设计与实现。实验1 数据库模式设计和数据库的建立 一、教学目的和要求 根据一个具体应用,独自完成数据库模式的设计。 熟练使用SQL语句创建数据库、表、索引和修改表结构。 熟练使用SQL语句向数据库输入数据、修改数据和删除数据的操作。 二、实验内容 对实际应用进行数据库模式设计(至少三个基本表)。

web实验3

实验 3 C#和https://www.360docs.net/doc/8e1308412.html, 4.5 基础实验 专业班级学号姓名报告日期 实验类型:●验证性实验○综合性实验○设计性实验 实验目的: (1) 了解C#语言规范。 (2) 掌握C#基础语法、流程控制和异常处理等。 (3) 掌握创建C#类并应用于https://www.360docs.net/doc/8e1308412.html, 4.5页面中的方法。 (4) 掌握https://www.360docs.net/doc/8e1308412.html, 4.5页面调试方法。 实验内容及要求: 1.转换输入的成绩到相应的等级。 2.在WEB窗体中输出九九乘法表。 3.输入一组以空格间隔的共10个以内的整数,输出该组整数的降序排列。 4.计算两个数的商:要求数据输入使用两个TextBox控件,单击Button控件能输出商,除数为零时能做出异常处理。 5.设计并实现一个用户信息类UserInfo,其中包含姓名、生日两属性和一个判断用户年龄的方法。 6.在WEB窗体中应用UserInfo类 7.调试九九乘法表,掌握https://www.360docs.net/doc/8e1308412.html, 4.5页面调试方法。 每小题实验要求详见实验指导书实验3(page20-27) 实验原理编程规范、数据类型、流程控制、类定义与应用等基本语法知识实验思考与拓展: (1)扩充成绩转换程序。要求增加对输入成绩合法性的判断。 (2)将九九乘法表改成矩形左上三角显示效果。 (3)完善实验内容3的程序,要求能完成包含0和负数的排序 (4)使用ArrayList类实现降序排列一组整数的功能。 (5)改写UserInfo类:增加一个ValidateBirthday事件;应用ValidateBirthday 事件改写DecideAge()方法,当输入的生日大于当前日期或小于1900-1-1时触发事件ValidateBirthday;设计页面并应用修改后的UserInfo类。 实验报告书写要求:根据实验情况和结果撰写并递交实验报告。实验报告应当有设计过程及实验步骤的文字与截图说明,运行调试记录,运行结果截图。 实验总结(学会了......; 掌握了......; 训练了......; 发现了......; 今后学习中......有待提高。) 电子报告word文件命名规则:专业班级-学号后两位-实验X-姓名.doc, 如信息123班学号为201212030315的郭海涛同学实验2报告word文件命名则应是:信息123-15-实验2-郭海涛.doc, 其中.doc是Word文件扩展名。特别提醒:电子报告文件命名不规范的报告将不予接收。 参考程序

数据库实验指导书

数据库实验指导书 电气与电子工程学院

实验项目 实验一认识DBMS及数据库的建立 实验二交互式SQL(数据库查询与更新) 实验三数据控制(安全性部分) 实验四数据控制(完整性部分)

实验一认识DBMS及数据库的建立 一、实验目的: 1.掌握使用SQL SERVER企业管理器及SQL语言创建数据库与表。 2.掌握使用SQL SERVER企业管理器及SQL语言修改数据库与表。 3.掌握使用SQL SERVER企业管理器及SQL语言删除数据库与表。 二、实验内容及步骤: 1.通过用企业管理器创建一个指定多个数据文件和日志文件的数据库,该数据库名称为jiaoxuedb,要求: 有1个10MB和1个20MB的数据文件和2个10MB的事务日志文件。数据文件逻辑名称为jiaoxuedb1和jiaoxuedb2,物理文件名为jiaoxuedb1.mdf和jiaoxuedb2.mdf。主文件是jiaoxuedb1,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。事务日志文件的逻辑名为jiaoxuedblog1和jiaoxuedblog2,物理文件名为jiaoxuedblog1.df和jiaoxuedblog2.ldf,最大尺寸均为50MB,文件增长速度为1MB。 2.用企业管理器在jiaoxuedb数据库中建立如下表: 学生表: jiaoxuedbdent 课程表: Course 选课表: SC

3.查看表格:显示当前数据库中所有对象的信息。 4.利用企业管理器删除表: 在企业管理器中,展开指定的数据库和表格项,用右键单击要删除的表,从快捷菜单中选择“除去表”选项,则会出现除去对象对话框。单击“全部删除”按钮,即可去除表。

oracle数据库实验指导书

计算机科学学院《ORACLE数据库》实验指导书

《ORACLE数据库》实验指导书 实验一Oracle数据库安装配置以及基本工具的使用 1.实验的基本内容 实验室中oracle数据库安装后某些服务是关闭的(为了不影响其他课程的使用),所以在进入数据库前需要对oracle进行配置: (1)启动oracle OraHomeTNSLISTENER 和oracleserviceORACLE 两个服务 (2)修改listener.ora 和tnsnames.ora 两个文件的内容 (3)以用户名:system ,口令:11111 以“独立登录”的方式进入oracle 数据库系统 (4)熟悉数据库中可用的工具。 2.实验的基本要求 (1)掌握Oracle11g的配置以及登录过程。 (2)熟悉系统的实验环境。 3.实验的基本仪器设备和耗材 计算机 4.实验步骤 (1) 查看设置的IP地址是否与本机上的IP地址一致。若不一致则修改为本机IP地址。 (2) 启动oracle OraHomeTNSLISTENER 和oracleserviceORACLE 两个服务 控制面板/性能与维护/管理工具/服务/ oracle OraHomeTNSLISTENER(右击/启动)。 控制面板/性能与维护/管理工具/服务/ oracleserviceORACLE(右击/启动) (3) 修改listener.ora 和tnsnames.ora 两个文件的内容 D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN (用记事本方式打开),将HOST=“…..”内容修改为本机的IP地址,保存退出。 D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN (用记事本方式打开),将HOST=“…..”内容修改为本机的IP地址,保存退出。 (4) 启动oracle 数据库

web技术实验指导书

web技术实验指导书 Web技术实验指导书 内容简介 Web技术是计算机专业学生的一门专业课程,着重讲述Web编程的技术方法。对于学生从事Web系统的研发、使用和维护有重要意义。本课程概念多、内容涉及面广、系统性强。通过本课程的学习,学生应能从软件、硬件功能分配的角度去了解、分析和研究Web系统,建立起对Web系统的全面认识,树立全面地、发展地看问题的观点,从而加深对各种类型Web系统的了解。 本课程的学习应注重理论与实践相结合,因此实验教学是教学环节中必不可少的重要内容。通过实验教学的学习,使学生熟练掌握有关Web编程的基本概念、基本原理和基本思想,掌握对Web系统进行设计、分析和计算的方法。 实验部分包括四个实验,包括实验目的、实验内容和实验所需环境等,介绍了每个实验所需的一些基础知识和技巧。在实验中给出的实验题,跟课堂教学的内容都有密切的关系,所以需要将课堂上讲授的例子程序融会贯通,掌握实验所需的一些基本方法和工具,并在吃透例子程序的基础上,积极独立思考设计和编写满足实验要求的程序。 中南大学信息科学与工程学院鲁鸣鸣制定

上机实验要求及规范 Web技术课程具有比较强的实践性。上机实验是一个重要的教学环节。一般情况下学生能够重视实验环节,对于编写程序上机练习具有一定的积极性。但是容易忽略实验的总结,忽略实验报告的撰写。对于一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。拿到一个题目,一般不要急于编程。正确的方法是:首先理解问题,明确给定的条件和要求解决的问题,然后按照自顶向下,逐步求精,分而治之的策略,按照面向对象的程序设计思路,逐一地解决子问题。 一、实验报告的基本要求: 一般性、较小规模的上机实验题,必须遵循下列要求。养成良好的习惯。姓名班级学号日期题目i. 问题描述 ii. 设计简要描述 iii. 程序清单 iv. 结果分析v. 调试报告: 实验者必须重视最后这两个环节,否则等同于没有完成实验任务。这里可以体现个人特色、或创造性思维。具体内容包括:测试数据与运行记录;调试中遇到的主要问题,自己是如何解决的;经验和体会等。 二、实验报告的提高要求: 阶段性、较大规模的上机实验题,应该遵循下列要求。养成科学的习惯。问题描述

相关文档
最新文档