第3章 Servlet基础文档格式.docx
- 文档编号:16107935
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:13
- 大小:305.63KB
第3章 Servlet基础文档格式.docx
《第3章 Servlet基础文档格式.docx》由会员分享,可在线阅读,更多相关《第3章 Servlet基础文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
为了读者可以更好地了解实际开发中的servle程序实现,本案例将演示如何编写基于HTTP协议请求的servlet。
4、设计思路(实现原理)
1)创建ServletDemo1类继承Httpservlet类,
2)在ServletDemo1中重写开发常用的doGet()方法和doPost()方法并完成处理操作
3)在web.xml中配置初始化参数和类的映射
4)通过浏览器访问ServletDemo1,展现页面servlet处理响应信息。
二、案例实现
编写ServletDemo1,其代码如下:
publicclassServletDemo1extendsHttpServlet{
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
//通过HttpServletResponse对象设置页面响应编码格式
resp.setContentType("
text/html;
charset=UTF-8"
);
//得到输出流PrinterWriter对象,Servlet使用输出流来产生响应
PrintWriterprintWriter=resp.getWriter();
//通过PrintWriter对象向页面打印信息
printWriter.write("
实现第一个servlet程序"
}
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)
doGet(req,resp);
}
配置web.xml文件:
<
servlet>
<
servlet-name>
ServletDemo1<
/servlet-name>
servlet-class>
cn.heima.chapter3.ServletDemo1<
/servlet-class>
/servlet>
servlet-mapping>
url-pattern>
/ServletDemo1<
/url-pattern>
/servlet-mapping>
启动Tomcat服务器,在地址栏中输入http:
//localhost:
8080/chapter03/ServletDemo1,浏览器显示的结果如下图所示:
三、案例总结
实现Servlet程序的步骤:
1)编写一个类继承HttpServlet类(实际开发多数是基于HTTTP协议请求的);
2)覆盖HttpServlet的部分方法,例如,覆盖doGet()或doPost()方法;
3)获取HTTP请求信息。
通过HttpServletRequest对象来检索HTML表单所提交的数据或URL上的查询字符串;
4)生成HTTP响应结果。
通过HttpServletResponse对象生成响应结果,它有一个getWriter()方法,该方法返回一个PrintWriter对象,然后通过write()方法写出响应信息。
注意:
在使用response.getWrite()方法之前必须使用resp.setContentType("
设置响应信息的编码格式,否者页面会出现中文乱码。
案例3-2HttpServlet
名称:
HttpServlet
编号:
028003005
掌握HttpServlet的doGet()方法和doPost()方法
由于大多数Web应用都是通过HTTP协议和客户端进行交互,因此,在Servlet接口中,提供了
一个抽象类javax.servlet.http.HttpServlet,它是GenericServlet的子类,专门用于创建应用于HTTP协议的Servlet。
为了读者可以更好地了解HttpServlet,本案例将演示重写HttpServlet中的doGet()方法和doPost()方法打印出九九乘法表。
查看HttpServlet源代码的service()方法,在方法中可以看到get请求调用doGet()方法,post请求调用doPost()方法,那么就可以直接重写doGet()和doPost()不需要重写service()方法了。
1)编写ServletDemo2类,在doGet()方法和doPost()方法中用双重for循环打印九九乘法表
2)配置web.xml文件
3)编写get.html页面,设置表单提交方式为get,表单页面使用input标签配置一个按钮,单击按钮可以get方式访问ServletDemo2类
4)编写post.html页面,设置表单提交方式为post,表单页面使用input标签配置一个按钮,单击按钮可以post方式访问到ServletDemo2类
5)通过浏览器分别访问get.html和post.html页面,单击其页面上的按钮,对ServletDemo2进行访问
二、案例实现
编写ServletDemo2,其代码如下:
publicclassServletDemo2extendsHttpServlet{
resp.getWriter().print("
get提交方式<
br/>
"
for(inti=1;
i<
=9;
i++){
for(intj=1;
j<
=i;
j++){
resp.getWriter().print(j+"
*"
+i+"
="
+j*i+"
"
}
resp.getWriter().print("
<
}
post提交方式<
description>
/description>
display-name>
ServletDemo2<
/display-name>
cn.itcast.chapter03.servlet.ServletDemo2<
/ServletDemo2<
编写get.html文件:
formaction="
/chapter03/ServletDemo2"
method="
get"
>
<
inputtype="
submit"
value="
提交"
/form>
编写post.html文件:
post"
8080/chapter03/get.html,浏览器显示的结果如下图所示:
单击提交按钮,显示的结果如下图所示:
在地址栏中输入http:
8080/chapter03/post.html,浏览器显示的结果如下图所示:
1.创建HttpServlet的步骤
1)扩展HttpServlet抽象类;
通过HttpServletResponse对象生成响应结果,它有一个getWriter()方法,该方法返回一个PrintWriter对象。
2.HttpServlet主要有两大功能,第一是根据用户请求方式的不同,定义相应的doXxx()方法处理用户请求,例如,与GET请求方式对应的doGet()方法,与POST请求方式对应的doPost()方法。
第二是通过service()方法将HTTP请求和响应分别转为HttpServletRequest和HttpServletResponse类型的对象。
需要注意的是,由于HttpServlet类在重写的service()方法中,为每一种HTTP请求方式都定义了对应的doXxx()方法,因此,当定义的类继承HttpServlet后,只需根据请求方式,重写对应的doXxx()方法即可,而不需要重写service()方法。
案例3-3用ServletConfig对象读取配置文件
ServletConfig接口
028003008
2、练习
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 Servlet基础 Servlet 基础