




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4 实验四 Servlet容器模型一 实验目的1. 掌握Web应用程序的DD文件web.xml的配置方法和作用;2. 掌握如何通过ServletConfig获取Servlet的初始化参数;3. 掌握ServletContext的概念,如何获得ServletContext对象;4. 掌握如何通过RequestDispatcher转发请求。二 实验内容1. 建立一个名为bookstore的Web应用程序在Tomcat的webapps目录下,建立一个如下所示的目录结构: |- bookstore|- html (包含所有的HTML文件)|- jsp (包含所有的JSP文件)|- images (包含
2、所有的GIF、JPEG和BMP图象文件)|- index.html (默认的HTML文件)|- WEB-INF |-classes lib web.xml图4.1 bookstore应用程序的目录结构这样就建立了一个名为bookstore的Web应用程序,本实验后面的题目都在该应用程序下面完成。2. 使用ServletConfig检索Servlet的初始化参数【步骤1】编写ConfigDemoServlet程序,内容如下:package com.demo;import java.io.*;import java.sql.*;import javax.servlet.*;import javax
3、.servlet.http.*;public class ConfigDemoServlet extends HttpServletString 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.g
4、etInitParameter(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(Ema
5、il地址:+email+); out.println(电话:+telephone); out.println();【步骤2】修改web.xml文件,在其中添加下面Servlet定义和初始化参数定义 configDemoServlet com.demo.ConfigDemoServlet email telephone 1 configDemoServlet /configDemo.do 【步骤3】在浏览器的地址栏中输入下面URL访问该Servlet:http:/localhost:8080/bookstore/configDemo.do 程序运行结果如图3.2所示:
6、 图3.2 ConfigDemoServlet的运行结果3. ServletContext的使用修改上面程序,将email地址和电话使用ServletContext初始化参数传递给ConfigDemoServlet。使用ServletContext对象将email地址和电话信息写入日志文件中,并查看日志文件。4.下面是一个Servlet,它可以获得有关服务器的信息。package com.demo;import java.io.*;import java.util.*;import javax.servlet.*;public class ServerInfo extends GenericS
7、ervlet 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(获取服
8、务器端信息);out.println();out.println();out.println(服务器端信息:);out.println();out.println();out.println(站点名);out.println( + request.getServerName() + );out.println();out.println();out.println(端口号);out.println( + request.getServerPort() + );out.println();out.println();out.println(服务器类型);out.println( + sc.get
9、ServerInfo() + );out.println();out.println();out.println(支持Servlet版本);out.println(+sc.getMajorVersion()+.+sc.getMinorVersion()+);out.println();out.println();out.println(服务器属性);out.println();/ 获得服务器属性集合Enumeration attributes = sc.getAttributeNames();while (attributes.hasMoreElements() String name = (
10、String)attributes.nextElement();out.println(name);out.println();out.println();out.println();out.println();out.println();5. 简单的综合应用【步骤1】创建一个名为input.html的HTML页面,其中包括一个表单,表单中包含两个文本域,分别供用户输入学号和姓名,该页面也包含提交和重置按钮。【步骤2】定义一个名为com.demo.Student类,其中包括学号sno和姓名name两个private的成员变量,定义访问和修改sno和name的方法。【步骤3】编写名为FirstS
11、ervlet的Servlet,要求当用户在input.html中输入信息后点击“提交”按钮,请求FirstServlet对其处理。在FirstServlet中使用表单传递的参数(学号和姓名)创建一个Student对象并将其作为属性存储在ServletContext对象中,然后获得通过ServletContext的getRequestDispatcher()方法获得RequestDispatcher()对象,将请求转发到SecondServlet。【步骤4】在SecondServlet中取出ServletContext上存储的Student对象,并显示输出该学生的学号和姓名。在SecondSer
12、vlet的输出中应该包含一个超链接,点击该连接可以返回input.html页面。 图4.2 input.html页面显示结果 图4.3 SecondServlet显示结果代码: Login Page 学号: 姓名: Student.javapackage com.demo;public class Student private String sno;private String name;public Student(String sno,String name)this.sno=sno;=name;public void setSno(String sno)
13、this.sno=sno;public void setName(String name)=name;public String getSno()return sno;public String getName()return name;FirstServlet.javapackage com.demo;import java.io.IOException;import java.util.HashMap;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import java
14、x.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class FirstServlet extends HttpServlet ServletContext context=null;protected void doGet(HttpServletRequest request, HttpServletResponse r
15、esponse)throws ServletException, IOException / TODO Auto-generated method stubdoPost(request,response);protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException / TODO Auto-generated method stubresponse.setContentType(text/html;charset=gb2312
16、);String sno=request.getParameter(sno);String name=request.getParameter(name);Student s1=new Student(sno,name);context=getServletContext();context.setAttribute(Student,s1);RequestDispatcher dispatcher=context.getRequestDispatcher(/secondservlet);dispatcher.forward(request,response);SecondServlet.jav
17、apackage com.demo;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SecondServle
18、t extends HttpServlet private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response);protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html;charset=gb2312);ServletContext context=getServletContext();Student s2=(Student)context.getAttribute(Student);PrintW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电镀工程承包方案(3篇)
- 安全教育宣传培训制度课件
- 安全教育培训需求通知课件
- 丽江招聘面试题库及答案
- 安全教育培训逻辑课件
- 兰州铁路面试题库及答案
- 跨境采购面试题库及答案
- 康泰医学面试题库及答案
- 铁路货场改扩建项目2025年社会经济影响及风险评估报告
- 安全教育培训记录示范课件
- 老乡贷贷款管理办法
- 老师新学期个人工作计划表怎么写(5篇)
- 2025年高考全国二卷数学真题(原卷版)
- 统编版九年级上册道德与法治1.2 走向共同富裕 课件
- 汽车销售日常知识培训课件
- (正式版)DB15∕T 2351-2021 《燕麦米加工技术规程》
- 患者身份识别管理标准WST840-2025学习解读课件
- 2024德州市庆云县渤海路街道社区工作者招聘考试试题
- 人教版四年级数学上册全册电子教案
- 新《高等教育学》考试复习题库450题(含各题型)
- 三字经全文带拼音注释打印版
评论
0/150
提交评论