教案:开发基于JSPServletJavaBean的网上交易系统-第2章 Servlet基础
2008-05-04 14:34
645 查看
由于种种原因,部分内容被隐藏,请大家原谅。
如果有什么问题,可以与我联系,我会尽快解答。
如果你觉得这篇文章对你有用,请回贴,谢谢。
授课教师:牟勇
课时:100分钟
l 本章技能目标
n理解Servlet的生命周期
n会使用Servlet处理Get,Post请求
n会使用Servlet处理页面转向
n会配置web.xml文件
l 本章重点
nServet处理GET,POST请求
nServlet在web.xml文件中的配置
l 本章难点
nServlet处理页面的转向
nServlet的生命周期
l 本章工作任务
n使用Servlet实现E-Book电子书店用户验证
u 如果用户名或密码错误,则给出提示
u 如果输入数据正确,则显示登录成功
l 整章授课思路
n本章依次课讲解五个问题:Servlet定义,Servlet的创建,Servlet生命周期,Servlet部署和转向控制。
nServlet的定义:使用JSP技术编写动态网页,提出在JSP技术出现之前如何实现动态网页的编写?从而引入Servlet,并说明Servlet是一个运行的服务器端的Java程序。强调Servlet的作用是处理客户端请求并作出响应。
nServlet的创建:首先创建一个前台页面HTML文件或者JSP文件,并把FORM表单的action属性指向一个Servlet,然后创建该Servlet,用以接收前台页面传入的请求值,并介绍Servlet的方法:doGet(),doPost()。
nServlet生命周期:说明Servlet的实例化-初始化-服务-销毁的过程。
nServlet部署:Servlet与JSP一样,都需要部署到容器(在本书中指tomcat)上才能运行。这就要遵循容器的特定的规定:web.xml文件的配置要求。说明各种元素的配置和作用。
n转向控制:主要讲解重定向以及转发的方式和它们的区别,重定向丢失数据,而转发不丢失,是服务器端行为。
回顾: [5分钟]
Get请求和Post请求有什么差异?
JavaEE的体系结构分几层?
如何理解HTTP协议?
预习检查: [5分钟]
Servlet与JSP之间的关系?
页面跳转有哪几种方式?
如何理解Servlet的生命周期?
课程知识点讲解:
Servlet的定义:[15分钟]
为什么要需要Servlet
提问:在JSP技术出现之前如何编写服务器动态网页?
答案:使用Servlet。
什么是Servlet
定义:Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序
初识Servlet
教员重点说明写一个servlet需要导入的包,继承的类,以及doGet方法的一般写法思路。
Servlet与JSP之间的关系
JSP转译后的.java文件与Servlet的处理方式一样
Servlet是JSP技术的基础
Servlet的创建[15分钟]
前台页面的创建:
v FORM表单的编写
后台Servlet的创建:
v 使用Eclipse的Servlet向导创建Servlet代码模板
v 根据表单提交方法,确定接收方法
v 接收请求数据、处理数据、返回响应页面
教员演示在Eclipse中创建Servlet的步骤
Servlet编程模式
处理get和post请求(强调doGet()和doPost()方法)
如何接收请求参数(强调getParameter方法)
根据结果,转向其他页面或资源(强调response.sendRedirect()方法)
教员应详细说明上述代码
Servlet的生命周期[15分钟]
通过上图说明一次请求响应过程中,Servlet如何诞生的。
教员应按顺序详细说明Servlet生命周期,以及生命周期过程中,Servlet将被调用的方法。注意强调以下三点:
v Servlet各方法的调用均由容器调用,我们写Servlet的程序员并不负责Servlet方法的调用,所以在写一个Servlet时,我们只需要考虑Servlet“要做什么”,而不需要去考虑“何时做”。
v 当客户提交请求到容器时,容器将先调用了service方法,而service方法再根据客户端请求调用相应的doGet方法或doPost方法,所以,一般情况下,不要重写service方法。
v Servlet的init()方法在一次生命周期中只会被调用一次,而service方法会被多次调用。
生命周期相关方法
教员重点说明各方法的用处即可。
程序演示:
演示示例3:HelloServlet,重点说明Servlet的整个生命周期
现场编程:
请使用Servlet编写在页面显示“你好, ACCP!”的程序代码
教员可以请一到二位学员来完成编程。
常见错误:
如果程序运行结果如下:
原因:中文乱码
解决方案:根据具体情况,选择以下的三种方案之一进行乱码转换
方案一:使用response.setContentType(“text/html;charset=GBK”)
方案二:使用request.setCharacterEncoding()
方案三:使用new String(),重构字符串编码
Servlet部署[25分钟]
文件结构:
v Web应用下必须存在WEB-INF文件夹,里面必须有一个web.xml文件,它是一个配置文件,描述所有关于Web应用的信息都存放在这个文件中。
v 第三方的jar文件存放在lib下面。
v Servlet,JavaBean等的class文件存放在classes下面
在web.xml文件中配置Servlet
如何访问Servlet
教员应详细介绍servlet的配置文件web.xml里两个标记的意义。
常见错误
web.xml文件常见错误
servlet-mapping中的name与servlet-name中的name不一致
添加多个mapping映射
转向控制[10分钟]
数据的传递方式
从页面到Servlet
request.getParameter(“param”);
从Servlet到Servlet或JSP页面
RequestDispatcher对象的forward()方法
JSP的forward动作实质是RequestDispatcher技术
本章总结 [10分钟]
如何理解Servlet程序?Servlet的作用是什么?
request、response对象有哪些常用方法?
实现页面跳转有几种方式?它们之间有哪些区别?
如何理解Servlet的生命周期?
web.xml文件在Web项目中的作用是什么?
考核点
servlet的生命周期
如何获得JSP页面的请求参数
跳转页面的两种方式
扩展部分:
暂无
学员问题汇总:
暂无
作业:
习题1:48页至49页选择题
习题2:49页第1,2,3,4题
习题3:预习第三章,试做课后的选择题
如果有什么问题,可以与我联系,我会尽快解答。
如果你觉得这篇文章对你有用,请回贴,谢谢。
授课教师:牟勇
课时:100分钟
l 本章技能目标
n理解Servlet的生命周期
n会使用Servlet处理Get,Post请求
n会使用Servlet处理页面转向
n会配置web.xml文件
l 本章重点
nServet处理GET,POST请求
nServlet在web.xml文件中的配置
l 本章难点
nServlet处理页面的转向
nServlet的生命周期
l 本章工作任务
n使用Servlet实现E-Book电子书店用户验证
u 如果用户名或密码错误,则给出提示
u 如果输入数据正确,则显示登录成功
l 整章授课思路
n本章依次课讲解五个问题:Servlet定义,Servlet的创建,Servlet生命周期,Servlet部署和转向控制。
nServlet的定义:使用JSP技术编写动态网页,提出在JSP技术出现之前如何实现动态网页的编写?从而引入Servlet,并说明Servlet是一个运行的服务器端的Java程序。强调Servlet的作用是处理客户端请求并作出响应。
nServlet的创建:首先创建一个前台页面HTML文件或者JSP文件,并把FORM表单的action属性指向一个Servlet,然后创建该Servlet,用以接收前台页面传入的请求值,并介绍Servlet的方法:doGet(),doPost()。
nServlet生命周期:说明Servlet的实例化-初始化-服务-销毁的过程。
nServlet部署:Servlet与JSP一样,都需要部署到容器(在本书中指tomcat)上才能运行。这就要遵循容器的特定的规定:web.xml文件的配置要求。说明各种元素的配置和作用。
n转向控制:主要讲解重定向以及转发的方式和它们的区别,重定向丢失数据,而转发不丢失,是服务器端行为。
回顾: [5分钟]
Get请求和Post请求有什么差异?
JavaEE的体系结构分几层?
如何理解HTTP协议?
预习检查: [5分钟]
Servlet与JSP之间的关系?
页面跳转有哪几种方式?
如何理解Servlet的生命周期?
课程知识点讲解:
Servlet的定义:[15分钟]
为什么要需要Servlet
提问:在JSP技术出现之前如何编写服务器动态网页?
答案:使用Servlet。
什么是Servlet
定义:Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序
初识Servlet
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println(" <head><title>Servlet</title></head>"); out.println(" <body>"); out.println("你好,欢迎来到Servlet世界"); out.println(" </body>"); out.println("</html>"); out.close(); } } |
Servlet与JSP之间的关系
JSP转译后的.java文件与Servlet的处理方式一样
Servlet是JSP技术的基础
Servlet的创建[15分钟]
前台页面的创建:
v FORM表单的编写
后台Servlet的创建:
v 使用Eclipse的Servlet向导创建Servlet代码模板
v 根据表单提交方法,确定接收方法
v 接收请求数据、处理数据、返回响应页面
教员演示在Eclipse中创建Servlet的步骤
Servlet编程模式
处理get和post请求(强调doGet()和doPost()方法)
import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //doGet方法体内容 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //doPost方法体内容 } } |
String userName = request.getParameter("userName"); String userPass = request.getParameter("userPass"); |
if (userName == "accp" && userPass == "123") response.sendRedirect("success.jsp"); else response.sendRedirect("failure.jsp"); |
Servlet的生命周期[15分钟]
通过上图说明一次请求响应过程中,Servlet如何诞生的。
教员应按顺序详细说明Servlet生命周期,以及生命周期过程中,Servlet将被调用的方法。注意强调以下三点:
v Servlet各方法的调用均由容器调用,我们写Servlet的程序员并不负责Servlet方法的调用,所以在写一个Servlet时,我们只需要考虑Servlet“要做什么”,而不需要去考虑“何时做”。
v 当客户提交请求到容器时,容器将先调用了service方法,而service方法再根据客户端请求调用相应的doGet方法或doPost方法,所以,一般情况下,不要重写service方法。
v Servlet的init()方法在一次生命周期中只会被调用一次,而service方法会被多次调用。
生命周期相关方法
public class HelloServlet extends HttpServlet { public void init() throws ServletException { System.out.println("初始化时第一次调用!"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out=response.getWriter(); out.println("<HTML>"); out.println(" <HEAD><TITLE>HelloServlet</TITLE></HEAD>"); out.println(" <BODY>"); out.println("你好!ACCP "+new Date()); out.println(" </BODY></HTML>"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } public void destroy() {System.out.println(“释放资源!"); } } |
程序演示:
演示示例3:HelloServlet,重点说明Servlet的整个生命周期
现场编程:
请使用Servlet编写在页面显示“你好, ACCP!”的程序代码
教员可以请一到二位学员来完成编程。
常见错误:
如果程序运行结果如下:
原因:中文乱码
解决方案:根据具体情况,选择以下的三种方案之一进行乱码转换
方案一:使用response.setContentType(“text/html;charset=GBK”)
public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=GBK");//设定中文 PrintWriter out = response.getWriter(); //使用输出流,输出信息 } } |
public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(“GBK”); response.setContentType("text/html;charset=GBK");//设定中文 PrintWriter out = response.getWriter(); //使用输出流,输出信息 } } |
public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding(“GBK”); response.setContentType("text/html;charset=GBK");//设定中文 String name=new String(request.getParameter(“name”).getByte(“ISO-8859-1”)); PrintWriter out = response.getWriter(); //使用输出流,输出信息 } } |
文件结构:
v Web应用下必须存在WEB-INF文件夹,里面必须有一个web.xml文件,它是一个配置文件,描述所有关于Web应用的信息都存放在这个文件中。
v 第三方的jar文件存放在lib下面。
v Servlet,JavaBean等的class文件存放在classes下面
在web.xml文件中配置Servlet
<web-app> <servlet> <servlet-name> HelloServlet </servlet-name> <servlet-class> y2javaee.sg.ch02.HelloServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name> HelloServlet </servlet-name> <url-pattern> /HelloServlet </url-pattern> </servlet-mapping> </web-app> |
教员应详细介绍servlet的配置文件web.xml里两个标记的意义。
常见错误
web.xml文件常见错误
servlet-mapping中的name与servlet-name中的name不一致
添加多个mapping映射
转向控制[10分钟]
数据的传递方式
从页面到Servlet
request.getParameter(“param”);
从Servlet到Servlet或JSP页面
RequestDispatcher对象的forward()方法
JSP的forward动作实质是RequestDispatcher技术
String pass = request.getParameter("password"); String user = request.getParameter("loginName"); if (user.equals("accp") && pass.equals("accp")) { request.setAttribute("loginname", user); RequestDispatcher dispatcher = request.getRequestDispatcher("/ch02/ok.jsp"); dispatcher.forward(request, response); } else { response.sendRedirect("/ch02/register.jsp"); } |
如何理解Servlet程序?Servlet的作用是什么?
request、response对象有哪些常用方法?
实现页面跳转有几种方式?它们之间有哪些区别?
如何理解Servlet的生命周期?
web.xml文件在Web项目中的作用是什么?
考核点
servlet的生命周期
如何获得JSP页面的请求参数
跳转页面的两种方式
扩展部分:
暂无
学员问题汇总:
暂无
作业:
习题1:48页至49页选择题
习题2:49页第1,2,3,4题
习题3:预习第三章,试做课后的选择题
相关文章推荐
- 教案:《开发基于JSPServletJavaBean的网上交易系统》第8章 View层开发:EL和JSTL
- 教案:开发基于JSPServletJavaBean的网上交易系统-第9章 Web服务
- 教案:开发基于JSPServletJavaBean的网上交易系统-第4章 基于Servlet的会话跟踪(二)
- 教案:《开发基于JSPServletJavaBean的网上交易系统》教案—第3章 基于Servlet的会话跟踪(一)
- 教案:《开发基于JSPServletJavaBean的网上交易系统》第7章 View层开发,JavaBean在JSP中的使用
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- 基于Servlet+JSP+JavaBean开发模式的购物车
- 基于jsp+servlet图书管理系统之后台用户信息修改操作
- 【S2第二学期-使用JSP/Servlet技术开发新闻发布系统】全书知识点总结
- 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/
- 用AJAX J2EE实现一个网上会议室系统-Java基础-Java-编程开发
- JSP、Servlet实战:团队开发新闻系统(六)类似ThinkPHP的中转页
- 基于JSP+SERVLET的新闻发布系统(三)
- 基于ASP.NET开发网上客观题测试系统
- 基于servlet开发的毕业生离校管理系统
- 基于MVC和三层架构,用jsp-Servlet-JavaBean实现登录和注册
- 对基于Servlet+JSP+JavaBean开发模式的用户登录注册的升级
- Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之12.Servlet基础(2)
- J2EE初级学习项目——JSP+Servlet+JavaBean开发模式+Filter+(Listener)+Jdbc的用户登录注册系统