《Web应用程序设计实验》实验指导书-实验八

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

实验八Servle t技术的应用

一、实验目的

(1)、掌握怎样编写和使用Servlet。

(2)、掌握编写和配置和Servlet有关的web.xml文件。

(3)、掌握在Servlet中使用session的方法;熟悉把用户对某JSP页面或Servlet的请求转发给另一个JSP页面或Servlet的方法。

二、实验工具

(1)JDK1.4、JDK1.5或JDK1.6,可以从SUN公司的网站免费下载

(2)编辑工具:记事本或Dreamweaver MX 2004、FrontPage 2003

(3)Tomcat服务器,也可以从网上免费下载

(4)Netbeans 4.1或Jcreator

三、实验原理与内容

(1)、有些Web应用可能需要JSP+JavaBean+Servlet来完成,需要服务器再创建一些Servlet对象,配合JSP页面来完成整个Web应用程序的工作。本小节实验将介绍怎样编写创建Servlet对象的类,怎样在Tomcat服务器上保存编译后的字节码、编写部署文件,怎样请求Tomcat服务器创建一个Servlet对象。

①复制需要的jar文件:为了编译Servlet源文件,需要HttpServlet、HttpServletRequest等类,JDK 内置包中并不包含这些类文件,用户需要将Tomcat服务器中common\lib目录下的servlet-api.jar文件复制到JDK安装目录的\jre\lib\ext子目录中。

②添加Servlet类的字节码文件:编写如下的Servlet类:Computer.java,保存在D:盘根目录下,编译该类,形成star\moon\Computer.class,将此文件夹保存到Tomcat当前Web目录(如:ROOT目录)下的\WEB-INF\classes子目录中,重新启动Tomcat。

Computer.java:

package star.moon;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class Computer extends HttpServlet

{ public void init(ServletConfig config) throws ServletException

{ super.init(config);

}

public void service(HttpServletRequest request,HttpServletResponse response)

throws IOException

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

PrintWriter out=response.getWriter();

out.println("");

String number=request.getParameter("number"); //获取客户提交的信息。

double n=0;

try{ n=Double.parseDouble(number);

out.print("
"+number+"的平方根是:");

out.print("
"+Math.sqrt(n));

}

catch(NumberFormatException e)

{ out.print("

请输入数字字符!

");

}

out.println("");

}

}

③编写部署文件:在Web当前目录\WEB-INF\classes子目录中,用记事本打开web.xml文件,在“”标记下,添加如下几行并保存:

computer

puter

computer

/getResult

④运行Servlet:编写givenumber.jsp文件,该文件通过表单向Servlet提交一个正实数,Servlet负责计算这个数的平方根并返回给客户。

givenumber.jsp

<%@ page contentType="text/html;Charset=GB2312" %>

输入一个数,servlet求这个数的平方根:

(2)、当用户请求一个Servlet时,Sevlet会调用doPost()或doGet()方法响应用户的请求。doPost()或doGet()方法的两个参数类型都是HttpServletRequest和HttpServletResponse,而且由服务器负责实例化,因此在Servlet类中可以直接使用这两个参数。本小节实验学习在Servlet类中使用HttpServletResponse类的重定向方法sendRedirect()和RequestDispatcher类的转发方法forward()。

①添加Servlet类的字节码文件:编写如下的两个Servlet类:Verify.java和ShowMessage.java,保存在D:盘根目录下,编译该类,形成***.class的字节码文件,将此文件夹保存到Tomcat当前Web 目录(如:ROOT目录)下的\WEB-INF\classes子目录中。

V erify.java

package star.moon;

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class Verify extends HttpServlet

{ public void init(ServletConfig config) throws ServletException

{super.init(config);

}