1、复习题1. 简述 Servlet 生命周期。Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其 destroy 方法。2. 请简述和的相同点和不同点。相同点:都使页面跳转不同点:response.sendRedirec 是使浏览器重定向页面,可以跳转到任何页面;jsp:forward 实际上是将请求转发到其他页面。因此只能在本服务器上跳转,并可以通过 param 标签传递参数。3. Servlet 与 JSP 的区别
2、。Servlet 是一种在服务器端运行的 Java 程序,可以像 Applet 一样作为一种插件(Plugin)嵌入到 Web Server 中去,提供诸如 HTTP、FTP 等协议服务甚至用户自已定制的协议服务。而 JSP 是继 Servlet 后 Sun 公司推出的新技术,它是以 Servlet 为基础开发的,Servlet 与 JSP 区别:(1)编程方式不同Servlet 严格遵循 Java 语言的编程标准,而 JSP 则遵循脚本语言的编制标准。(2)Servlet 必须在编译以后才能执行JSP 并不需要另外进行编译,JSP Container 会自动完成这一工作,而 Servlet
3、在每次修改代码之后都需要编译完才能执行。(3)运行速度不同将 JSP 程序编译成 Servlet 的时候需要一些时间,所以 JSP 的运行速度比 Servlet 要慢一些,如果 JSP 文件能毫无变化的重复使用,它在第一次以后的调用中运行速度就会和Servlet 一样了。 4. jsp:useBean 语句的 scope 属性取值 session 或 application 时有何区别。取 session 时,JavaBean 的生命周期为整个用户的会话期,当用户注销或 session 过期后消失取 application,则 JavaBean 的生命周期为整个 WEB 应用的周期,即从 WE
4、B 应用启动直到从容器中卸载5. 请简述 Servlet 的生命周期主要有哪几个过程组成?主要调用哪几个方法?1.载入、实利及初始化调用 init 方法,载入 servlet,开始生命周期2.请求及响应调用 service、doGet 和 doPost 方法响应用户请求(多线程)3.卸载(发生各种终止事件如服务器关闭)调用 destory()方法,卸载 servlet6. 请简述编译和使用 Java Beans 的主要步骤。1.根据 JavaBean 规范创建一个 JavaBean 文件2.将创建好的 bean 文件编译成相应的 clss 文件3.在 JSP 或 Servlet 中实例化 Ja
5、vaBean,确定它的 id、class 和 scope4 通过 id 在 JSP 或 Servlet 中调用该 JavaBean 和它的各个方法,在 JSP 页面中更多的使用动作标签进行赋值和取值操作7. 分别说出 JSP 技术中的三种编译指令、动作指令和常用对象,并做简要的功能说明。编译指令:1. page 指令,用于设定整个 JSP 网页的属性和相关功能2. include 指令,通知 JSP 容器将指定位置上的资源内容包含到当前 JSP 页面中3. taglib 指令,允许页面使用用户自定义标签动作指令:1. ,为其他动作提供附加信息2.,用于在当前 JSP 页面中包含一个静态的或者动
6、态的资源和 区别:何时被包含 资源 描述编译时包含 静态 JSP 容器将对所包含的文件进行语法分析运行时包含 静态或动态 JSP 容器不对所包含的文件进行语法分析3.,用来将客户客户端所发送的请求,从 JSP 页面转发到另一个 JSP 页面、Servlet 或者静态资源文件4.,用来在 JSP 页面中创建一个 bean 实例并指定它的名字( id)以及作用范围(scope )常用对象:1. out:向客户输出数据2. request:当客户端请求一个 JSP 页面时,JSP 容器会将客户端的请求信息封装在 request对象中3. response:封装 JSP 产生的响应信息,然后被发送到客
7、户端以响应客户的请求4. session:保存每个用户信息,以便跟踪每个用户的操作状态8. 什么是 Java Bean? JavaBean 被称为 Java 组件技术的核心,本质上就是一个按照标准格式编写的 Java 类。只不过这个类要遵循一些编码的约定。特征:1. JavaBean 是一个公开的(Public)类2. JavaBean 类必须是拥有一个零参数的(默认)构造函数3. 设置或获取 JavaBean 属性时,必须使用 getXXX()方法或 setXXX()方法9. 说明什么是 MVC 模型,并简述其工作过程。MVC 是一个把应用的输入、处理和输出按照模型、视图和控制的方式分离。这
8、样应用被分为 3 个层:模型层、视图层和控制层。1.模型层(Model):负责表达和访问商业数据,执行业务逻辑和操作控制器2.视图层(View):把表示模型数据及逻辑关系和状态的信息及特定形式展示给客户3.控制层(Control):定义了抽象的业务逻辑,用于控制业务流程10. 编程制作一个能根据圆半径求周长和面积的 JAVA BEANS。package demo;public class circle public circle() private double C;private double S;public void setC(double C) this.C = C;public vo
9、id setS(double S) this.S = S;public double getC() return 2*3.14*C;public void getS() return 3.14*C*C;Input.jsp请输入半径:c.jsp周长:面积:11. 假设服务器运行 SQLserver 数据系统,数据库名为 student,odbc 数据源名称为student,,用户名 sa,密码为 123456,写出连接此数据库的 jsp 程序。“);rs.close();stmt.close();con.close();catch(Exception e)e.printStackTrace();
10、12、利用 session 实现一简单购物车,按下面的流程:(1)用下拉列表显示 3种商品名字 (苹果,西瓜,香蕉),然后选择某种商品;(2)把所选商品及价格放入购物车,点“购买”按钮后。 (3)然后显示购物车中商品名称。写出主要程序代码。 (提示:需写三个 JSP 页面,分别实现功能:显示商品,放入购物车,显示购物车中商品)(1)select.jsp 页面,现实商品苹果 西瓜香蕉(2)buy.jsp 页面,放入购物车session.setAttribute(“good”,goods);.(3)view.jsp 页面,显示购物车13. 用 jsp 实现石头剪刀布游戏。程序由 game.jsp
11、页面和 result.jsp 页面组成。game.jsp 页面源代码如下:请猜:石头剪刀布头请写出 result.jsp 页面的源代码。Game.jsp:猜拳游戏“);%请猜:石头剪刀布头猜拳结果 Result.jsp:“);int result = number-comNum;if(result = 0)out.println(“平手“);else if(result = 1 | result = -2)out.println(“你输了“);else if(result = -1 | result = 2)out.println(“你赢了“);%14. 用 JSPServlet 来实现判断某
12、年是否是闰年的功能,写出 JSP 页面和Servlet 代码。runnian.jsp请输入要判断的年:Servletpackage demo;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class yearServlet extends HttpServletprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException PrintWrit
13、er out = resp.getWriter();int year=0;tryyear=Integer.parseInt(req.getParameter(“year“);catch(Exception e)if(year%100=0)elseout.println(“+year+“is not 闰年 “+“);Web.xmlydemo.yearServlety/shitou上机题显示登陆次数:Counter.jsp:页面访问计数器 -URL 重写应用实例这是你第一次访问页面。您已经访问过此页面。您已经访问过此页面次。点击“此处再次访问页面Counter_cookie.jsp记录用户登录次数 -Cokkie 应用示例这是你第一次访问页面。您已经访问过此页面。您已经访问过此页面次。%count+;Cookie c = new Cookie(“Counter“,new Integer(count).toString(); c.setMaxAge(60*60*24*365);