jsp复习题.docx_第1页
jsp复习题.docx_第2页
jsp复习题.docx_第3页
jsp复习题.docx_第4页
jsp复习题.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP页面的基本结构。(1) 普通的HTML标记符 符号:(2) JSP标记指令标记:page、includepageinclude 动作标记:include、forward(跳转标记)、plugin、useBean、param子标记(用于传递参数) param子标记: (3) 变量和方法的声明 在声明的变量整个JSP页面有效,与书写位置无关,是成员变量 在声明的方法整个JSP页面有效,但方法内的变量只在该方法内有效(4) Java程序片 在 中声明的变量为局部变量,有效范围与书写位置有关(5) Java表达式 2、JSP的运行原理以及字节码文件的主要工作。(1) 运行原理当服务器上的jsp页面被第一次请求时,该jsp会被服务器先转译成一个java文件,并编译这个文件生成字节码文件,然后执行字节码文件响应请求。(2) 字节码文件的主要工作1 把jsp页面中的html标记符号交给客户的浏览器负责显示2 负责处理jsp标记,并将有关的处理结果发送到客户的浏览器3 执行“”之间的java程序片,并把执行结果交给客户的浏览器显示4 对多个客户同时请求jsp时,将CPU在多个线程之间快速切换,以保证每个线程都有机会执行字节码文件3、JSP有哪些内置对象?作用分别是什么?(1) Request:封装用户提交的信息,使用getParameter方法可以获取用户提交的信息request常用方法:1) getProtocol()获取用户向服务器提交信息所使用的通信协议。2) getServletPath()获取用户请求的JSP页面文件的目录。3) getContextPath()获取用户请求的当前的web服务目录。4) getContentLength()获取用户提交的整个信息的长度。5) getMethod()获取用户提交信息的方式,比如post或get。6) getHeader(String s) 获取HTTP头文件中由参数s指定的头文件名字的值。7) getHeaderNames()获取头名字的一个枚举。8) getHeader(String s) 获取头文件中指定头名字的全部值得一个枚举。9) getRemoteAddr()获取用户的IP地址。10) getRemoteHost()获取用户机的名称。11) getServerName()获取服务器的名称。12) getServerPort()获取服务器的端口号。13) getParameterNames()获取用户提交的信息体部分中name参数值的一个枚举。(2) Response:对用户的请求做出动态响应,向用户端发送数据(3) Session:由JSP引擎创建,可通过该对象保留链接的有关信息,判别是否为同一用户Session的生存周期是否关闭浏览器调用invalidate()方法使得session无效session达到了设置的最长发呆时间Tomcat为30分钟Session对象存储数据 Public void setAttribute(String key,Object obj) Public Object getAttribute(String key) Public Enumeration getAttributeNames() Public void removeAttribute(String name)(4) Application:由服务器创建,该对象对访问该服务器的所有用户共享,不同的web服务目录下,application不同(5) Out:用来向用户端输出数据4、什么是Javabean?Javabean有哪些特征?在Javaweb开发中有什么作用?(1) JavaBean是一个可重复使用的软件组见,一种Java类,通过封装属性和方法成为某种功能或处理某个业务的对象(2) 特征:1 可实现代码的重复利用2 易编写,易维护,易使用3 可以在任何安装了Java运行环境的平台使用,而不需要重新编译。(3) 作用:处理数据,储存数据,有效的分离静态部分和动态部分5、保存bean的字节码 创建bean、 在web服务目录下建立子目录结构:WEB-INFclasses、 根据类的包名在classes下建相应子目录,如tom.jiafei,则目录结构为tomjiafei 将bean的字节码文件复制到WEB-INFclassestomjiafei中6、bean的加载原理当JSP页面使用jsp动作标记useBean加载一个bean时,jsp引擎将首先根据jsp动作标记useBean给出的bean的id名字以及scope给出的使用范围,在下一个同步块中查找jsp引擎内置pageContent对象中是否含有这样的bean。如果这样的bean存在,jsp引擎就分配这样的bean给用户,如果在pageContent中没有查找到jsp动作标记要求的bean,就根据class制定的字节码创建一个useBean要求的bean,并将所创建的bean添加到pageContent内置对象中。7、bean的有效范围(1)scope取值page,只在当前页面有效,直到页面执行完毕(2)scope取值session,只在用户的session(会话)期间(3)scope取值request,只在当前页面有效,直到响应结束,略长于page(4)scope取值application,直到服务器关闭。共享,修改会影响其他用户8、获取或修改bean的属性使用动作标记getProperty、setProperty获取或修改9、如果表单提交的信息中有汉字,接收该信息的页面应该做怎样的处理?(1) Request设置编码request.setCharacterEncoding(gb2312);(2) 对信息重新编码String str=request.getParameter(“message”);Byte b=str.getBytes(“ISO-8859-1”); Str = new String(b);10、include指令标记和include动作标记的不同。 (1)include指令标记: 语法格式: 作用:在JSP页面出现该指令的位置处,静态插入一个文件。(可重复使用) include指令标记是在编译阶段就处理所需要的文件,被处理的文件在逻辑和语法上依赖于当前的JSP页面,其优点是页面的执行速度快; (2) include动作标记: 语法格式: 或jsp:include page=” 文件的URLParam子标记 include动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上 独立于当前JSP页面,其优点是可以使用param子标记更灵活的处理所需要的文件,缺点是执行速度要慢些。11、MVC模式的工作原理,JSP技术中MVC模式的具体实现。 模型-视图-控制器模型:用于储存数据的对象视图:向控制器提交所需的数据、显示模型中的数据控制器:负责具体的业务逻辑操作 JSP技术中mvc的实现:模型:一个或多个javabean对象,用于存储数据。视图:一个或多个jsp页面,像控制器提交必要的数据和显示数据控制器:一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关结果储存到JavaBean中,然后servlet使用转发或重定向的方式请求视图中的某个jsp页面显示数据。12、什么是servlet?servlet的生命周期。(1) 在服务器端创建能响应用户请求的对象。(2) 初始化Servlet。Servlet第一次被请求加载时,服务器初始化这个servlet新诞生的servlet再调用service方法响应用户的请求服务器关闭时,调用destroy方法销毁servlet13、HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?(1) sendRedirect 浏览器地址改变,重定向,无法使用request获取用户提交的数据(2) forward 浏览器地址不改变,转发,可以使用request获取用户提交的数据14、假设创建servlet的类是tom.jiafei.Dalian,创建的servlet对象的名字是myservlet,应当怎样配置web.xml文件? myservlet tom.jiafei.Dalian myservlet /myservlet15、采用MVC模式实现会员注册;当新会员注册时,该模板要求用户必须输入会员名,密码信息,否则不允许注册,注册成功返回登录页面login.jsp(不需要编写)。用户的注册信息被存入数据库的member表中。具体要求如下:a) 写出注册页面表单代码,要求详细代码。b) 编写Servlet类处理控制流程。c) 并写出Servlet部署文件web.xml。d) 编写Javabean文件描述用户的注册信息,负责连接数据库,判断用户名是否存在以及保存注册数据。 a)register.jsp form表单 b)Registerservlet.java(注册功能的servlet)public class Registerservlet extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(config);public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);String username = request.getParameter(username);String userpass = request.getParameter(userpass);User user = new User();boolean isExist = user.usernameIsExist(username);if(isExist =false) RequestDispatcher dispatcher = request.getRequestDispatcher(login.jsp);dispatcher.forward(request, response);else response.setContentType(text/html;charset=UTF-8);response.getWriter().write(用户名已存在.);Public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); c)Web.xml Registerservlet com.servlet.Registerservlet Registerservlet /registerservlet d)Javabean命名为user.javapublic class Users private String username;private String userpass;Connection con = null;PreparedStatement pre = null;ResultSet rs = null;/判断用户名是否存在public boolean usernameIsExist(String username) boolean isExist = null;String sql = select * from user where username=+username+;try Class.forName(com.mysql.jdbc.Driver);con = DriverManager.getConnection(*,*,*);pre = con.prepareStatement(sql);rs = pre.executeQuery();if(rs.next() isExist = true;else isExist = false; catch (Exception e) return isExist ;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getUserpass() return userpass;public void setUserpass(String userpass) this.userpass = userpass;16、采用MVC模式实现web应用。用户可以通过JSP页面输入三角形三边的长度的一个servlet控制器,控制器负责计算三角形的面积,并将面积存放在数据模型中,然后请求JSP页面显示数据模型中的面积。 写出几个文件的关键代码(或程序流程,尽量采用代码),具体要求如下:a) 写出输入三条边的页面表单代码,要求详细代码。b) 编写servlet类文件,处理控制流程。c) 并写出servlet部署文件web.xml。d) 编写三角形的Javabean文件。a)JSP页面命名为sanjiao.jsp 三角形:边A: 边B: 边C: :边A:,边B:,边C:的面积是b)servlet类为HandleArea.javapackage myservlet.control;public class HandArea extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(config);public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request,response)public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException Area dataBean=new Area();HttpSession session=request.getSession(true);session.setAttribute(data,dataBean);try double a=Double.parseDouble(request.getParameter(a);double b=Double.parseDouble(request.getParameter(b);double c=Double.parseDouble(request.getParameter(c);dataBean.setA(a);dataBean.setB(b);dataBean.setC(c);double s=-1;double p=(a+b+c)/2.0;s=Math.sqrt(p*(p-a)*(p-b)*(p-c);dataBean.setArea(s);dataBean.setMess(三角形); catch (Exception e) dataBean.setArea(-1);dataBean.setMess(+e);response.sendRedirect(sanjiao.jsp);/重定向方法c)web.xml handle myservlet.control.HandArea handle /handleArea d)javabean文件为Area.javapackage mybean.data;public class Area double a,b,c,area;String mess;public String getMess() return mess;public void setMess(String mess) this.mess = mess;public double getA() return a;public void setA(double a) this.a = a;public double getB() return b;public void setB(double b) this.b = b;public double getC() return c;public void setC(double c) this.c = c;public double getArea() return area;public void setArea(double area) this.area = area;17、编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯形的上底、下底、高的值,并提交给JSP页面,该JSP页面将计算梯形的面积之任务交给一个bean去完成。JSP页面使用getProperty动作标记显示梯形的面积。bean命名为Ladder.javapackage mybean.data;public class Ladder double a=0,b=0,c=0,area=-1;public double getA() return a;public void setA(double a) this.a = a;public double getB() r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论