实验三
更新时间: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=\
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
正在阅读:
实验三05-17
大庆油田历史事件10-14
会计专业社会实践报告12-12
计算机网络基础作业(必做)答案06-10
(2013春)七年级报纸电子版·牛津深圳版(第07期) - 图文01-29
青岛版小数除以整数教学设计03-25
南邮 2018 IP网络技术复习试题03-08
什么叫科学发展观02-17
入党谈话大全09-08
医院一角小学生三年级优秀作文06-13
- 企业安全培训试题题库
- 《WEB应用开发》复习题
- 2018届河南省新乡市高三第三次模拟测试英语试题Word版含答案
- 山东省建设工程优质结构评审标准(试行)
- 2016-2022年中国MEMS行业分析及发展趋势预测报告 - 图文
- 工程材料习题和练习 - 图文
- 2013--2014年小学六年级数学毕业水平检测卷及答案
- 江苏省2017-2018学年高考模拟历史试题分解(现代世界经济) Word版
- 移动通信实验指导书
- 2017-2018年最新审定新人教版六年级语文新人教版小学语文六年级
- 会展案例分析教案
- 数据库复习题
- 情智作文之学会选材
- 高一年级十月月考地理试题
- 河南省教育科学“十三五”规划2018年度一般课题立项名单
- 大学生宿舍文化现象调查与分析
- 山东省潍坊市2010届高三第二次模拟考试 理综 Word版
- 风险管理简答题
- 大连广播电视大学
- 民航安全管理经典论文
- 实验
- 衣鱼、蜻蜓与豆娘、螳螂对蜜蜂有哪些危害
- 南航电源技术实验报告
- 环境微生物多样性观察 - 图文
- 保持共产党员先进性学习阶段个人小结
- 农业综合开发土地治理项目施工组织设计
- 2017-2023年中国苯甲酰乙酸乙酯行业市场发展战略分析及投资前景
- 基于单片机的粮仓温湿度控制系统设计
- 智能ABC输入技巧全集
- 青岛市建筑施工现场标准化管理样板工程“标准清单”
- 《卫生学》模拟试卷1及答案(jmz2)
- 现代汉语上册(绪论、语音、文字)习题及答案
- 北航信息对抗专业《信息网络安全》复习资料
- 陕西省对外贸易现状及问题对策研究 - 图文
- 消费者网上购买行为的影响因素分析
- 统计学综合练习题
- 基于wordpress实现个人博客网站的开发本科毕设论文
- 浅谈小学语文教学如何加强信息反馈来提高课堂效率
- 大连海事大学
- 在成都短期学化妆到哪里学比较好?
- 理论力学期末前复习题-1.计算题