Servlet程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
昆明理工大学信息工程与自动化学院学生实验报告
( 2016 — 2017 学年第 2 学期)
课程名称:JAVAEE技术
开课实验室:呈贡校区信自楼 2017年4月17日
实验二Servlet程序设计
一、实验内容
1、通过上机,掌握Servlet的doGet()、doPost()、init()等方法
的应用;掌握web.xml配置文件的应用;掌握JSP与Servlet的调用
或转发。
2、通过编写一个Servlet程序、完成简单的接收请求和发送响应的功能。
3、完成以上内容的程序调试,并运行出正确的结果。
二、所用仪器、材料
PC一台,JDK、Eclipse、Tomcat、MySQL
三、实验原理
1.1、Servlet的doGet()、doPost()、init()等方法的应用;
1.1.1、init()方法:在处理客户端请求之前,给用户一个编写初始化
代码的机会。由于每个Servlet对象的init()方法只执行一次,
适合耗时较长的初始化处理以提高性能。如果使用init()方法
初始化资源,可以使用destroy()方法完成清理资源的工作,
如关闭获取的数据库连接或关闭I/O流。
1.1.2、doGet()/doPost()方法:根据客户请求方法的类型(GET、POST
等),service()方法调用对应的doGet()/doPost()方法
1.2、web.xml配置文件的应用
1.2.1、web.xml学名叫部署描述符文件,是在Servlet规范中定义
的,是web应用的配置文件。
1.2.2、部署描述符文件就像所有XML文件一样,必须以一个XML头
开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE 声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如 2.2或 2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元素为web-app。
1.2.3、
1.3、JSP与Servlet的调用或转发。
Servlet的转发方式有两种:
response.sendRedirect(response.encodeURL(相对路径或绝对路径));
request.getRequestDispatcher(相对路径).forward();
jsp是servlet的扩展,除可用上面两种之外,还可以用标签:
四、实验过程
1、新建Servlet对话框
2、编写一个Servlet程序、完成简单的接收请求和发送响应的功能。
2.运行结果
五、实验结果、分析和结论(误差分析与数据处理、成果总结等。其中,绘
制曲线图时必须用计算纸)
1.在本次实验中主要是掌握Servlet的doGet()、doPost()、init()
等方法的应用;掌握web.xml配置文件的应用;掌握JSP与Servlet
的调用或转发。通过编写一个Servlet程序、完成简单的接收请求和
发送响应的功能。
2.通过本次实验,我了解到了doGet()方法、doPost()方法的使用,
init()方法的作用,并且通过重温教材,了解到了请求和响应API、
请求头和响应头、文件的上传和下载、装发和重定向的编程,相信通
过不断地学习和不断地实验的深度,我会对Servlet有更深的了解。
源代码:FirstServlet.java
package com.jeelearning.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/FirstServlet")
publicclass FirstServlet extends HttpServlet {
privatestaticfinallong serialVersionUID = 1L;
public FirstServlet() {
super();
}
protectedvoid doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-type", "text/html;charset=UTF-8");
PrintWriter out= response.getWriter();
Date today=new Date();
out.println("
"+"当前时间为:"+today+"");}
protectedvoid doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}