实验三

更新时间:2024-05-17 00:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java Web程序设计——实验三

实验三 Servlet编程技术

Servlet是用Java编写的,运行在Web服务器上的独立模块,在实际应用中可以灵活地加载和卸下Servlet模块,以此提高Web服务器功能

一、 实验目的

1、 熟悉Servlet的开发流程 2、 熟悉Servlet的生命周期

3、 熟练掌握Servlet程序Web.xml文件的配置 4、 熟悉Servlet类的do×××()方法

二、实验内容

1. 将用户输入的单词按字典顺序排序

【实验要求】将用户输入的单词按字典顺序排序。需要编写页面:inputWord.jsp和一个ShowServlet. 1) inputWord.jsp的具体要求

该页面有一个表单,用户通过表单输入若干个单词,并提交给ShowServlet. 2) ShowServlet具体要求

该页面负责排序单词,并将排序的单词全部显示给用户 inputWord.jsp

<%@ page language=\

My JSP 'inputWord.jsp' starting page

1

Java Web程序设计——实验三

提示:ShowServlet继承HTTPServlet,并重写其中的doGet()方法。方法的功能和实验二的相同。

2. Jsp调用Servlet应用实例

本程序由一个JSP页面程序diaoyong.jsp构造了一个表单接受客户输入的据,提供姓名、电话录入窗口,当提交表单后,把姓名、性别、电话数据提交给Servlet模块diaoyong.java,Servlet模块接受数据后,把数据写入到文件phone.txt中。

? Diaoyong.jsp

<%@ page contentType=\

? diaoyong.java

(1) 扩展类HttpServlet,构造类diaoyong

(2) 定义两个成员变量,out(字符文件输出流),outbuff(字符缓冲输出流) (3) 在init方法中,创建字符文件输出流和字符缓冲输出流,分别初始化变

量out和outbuff

2

Java Web程序设计——实验三

(4) 在doPost()方法中,设置向客户端输出类型为text/html;charaset=GB2312 (5) 获取向客户端的输入流为out (6) 设置字符编码为GB2312

(7) 获取表单的数据:name/sex/telephone

(8) 将姓名、性别,电话写入缓冲输出流outbuff中 (9) 将姓名、性别,电话输出到客户端 import javax.servlet.*; import javax.servlet.http.*; import java.io.*;

public class diaoyong {

FileWriter ou=null; BufferedWriter outbuff=null;

public void init(ServletConfig config) throws ServletException {

super.init(config); try{

ou=new FileWriter(\ outbuff=new BufferedWriter(ou); }

catch(IOException ioe)

{ ioe.printStackTrace();} }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(\ PrintWriter out=response.getWriter(); request.setCharacterEncoding(\

; ; ;

outbuff.write(name+\ outbuff.write(sex+\

outbuff.write(telphone+\

3

Java Web程序设计——实验三

outbuff.flush();

out.println(\ out.println(\

out.println(\姓名\ out.println(\性别\

out.println(\电话\ out.println(\ out.println(\ out.close(); }

public void destroy() { super.destroy(); try {

ou.close(); outbuff.close(); }

catch(Exception e) {

e.printStackTrace(); } } }

? 自己配置web.xml文件,达到实验的预期效果。

3. 修改下面CounterServlet类,并且修改web.xml文件中对CounterServlet类的配置,使它完成如下功能

? 当Servlet容器启动Web应用时,就会初始化CounterServlet ? 当Servlet容器初始化CounterServlet时候,CounterServlet读取count/count.txt文件中的计数器初始值,然后创建一个具有该初始值的Counter对象,把它存放在Web应用范围内

? 当Servlet容器销毁CounterServlet时,CounterServlet把Web应用范围内的Counter对象的计算器保存到counter/count.txt

public class CounterServlet extends HttpServlet {

4

Java Web程序设计——实验三

public void doGet(HttpServletRequest request,

HttpServletResponse response)throws ServletException, IOException { //获得ServletContext的引用

ServletContext context = getServletContext(); // 从ServletContext中读取counter属性

Counter counter = (Counter)context.getAttribute(\ // 如果ServletContext中没有counter属性,就创建counter属性 if ( counter == null ) { counter = new Counter(1);

context.setAttribute(\ }

response.setContentType(\ PrintWriter out = response.getWriter();

out.println(\ out.println(\ // 输出当前的counter属性

out.println(\欢迎光临本站。您是第 \位访问者。\ out.println(\ //将计数器递增1 counter.add(1); out.close(); } }

public class Counter{

private int count; //计数值 public Counter(){ this(0); }

public Counter(int count){ this.count=count; } public void setCount(int count){this.count=count;} public int getCount(){return count; } public void add(int step){count+=step; }

5

Java Web程序设计——实验三

}

4.选择JSP或者JSP+JavaBean的开发模式实现数字的四则运算

要求编写两个JSP页面:inputNumber.jsp和recevieNumber.jsp。如果使用JavaBean还需要一个Computer.class类

inputNumber.jsp:提供一个表单,用户可以通过表单输入两个数字,选择四则运算符号,并将输入的两个数和所选择的运算符号提交给receiveNumber.jsp页面

receiveNumber.jsp:接收用户的输入并计算出结果。如果选择JavaBean,将计算的任务交给JavaBean去完成再显示结果

6

Java Web程序设计——实验三

}

4.选择JSP或者JSP+JavaBean的开发模式实现数字的四则运算

要求编写两个JSP页面:inputNumber.jsp和recevieNumber.jsp。如果使用JavaBean还需要一个Computer.class类

inputNumber.jsp:提供一个表单,用户可以通过表单输入两个数字,选择四则运算符号,并将输入的两个数和所选择的运算符号提交给receiveNumber.jsp页面

receiveNumber.jsp:接收用户的输入并计算出结果。如果选择JavaBean,将计算的任务交给JavaBean去完成再显示结果

6

本文来源:https://www.bwwdw.com/article/bjl7.html

Top