付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、JSP页面的基本结构。(1) 普通的HTM标记符 符号: URL plugin 、(2) JSP 标记 指令标记 :page 、 include pagev% p age属性1=属性1的值 in elude vjsP:动作名page二要转向的页面 param 子标记 :vjsp:param name= 名字 value= 指定给P aram 的值/v/jsp: 动作名 (3) 变量和方法的声明 v%!%在声明的变量整个JSP页面有效,与书写位置无关,是成员变量在声明的方法整个JSP页面有效,但方法内的变量只在该方法内有效(4) Java 程序片 v % 在 v %中声明的变量为局部变量,有
2、效范围与书写位置有关(5) Java 表达式 v % = % 2、JSP的运行原理以及字节码文件的主要工作。(1) 运行原理当服务器上的 jsp 页面被第一次请求时,该 jsp 会被服务 器先转译成一个 java 文件,并编译这个文件生成字节码文件, 然后执行字节码文件响应请求。(2) 字节码文件的主要工作把 jsp 页面中的 html 标记符号交给客户的浏览器负责显示 负责处理 jsp 标记,并将有关的处理结果发送到客户的浏 览器执行“ %”之间的java程序片,并把执行结果交给客户 的浏览器显示 对多个客户同时请求jsp时,将CPU在多个线程之间快速 切换,以保证每个线程都有机会执行字节码
3、文件3、JSP有哪些内置对象?作用分别是什么?(1)Request: 封装用户提交的信息,使用 getParameter 方法可以 获取用户提交的信息request 常用方法:getProtocol() 获取用户向服务器提交信息所使用的通 信协议。getServletPath() 获取用户请求的 JSP 页面文件的目 录。getContextPath() 获取用户请求的当前的 web 服务目 录。getContentLength() 获取用户提交的整个信息的长度。 getMethod() 获取用户提交信息的方式,比如 post 或 get。getHeader(String s)获取HTTP头文
4、件中由参数s指定的头文件名字的值。getHeaderNames()获取头名字的一个枚举。 getHeader(String s) 获取头文件中指定头名字的全 部值得一个枚举。getRemoteAddr() 获取用户的 IP 地址。1)2)3)4)5)6)7)8)9)10) getRemoteHost() 获取用户机的名称。11) getServerName() 获取服务器的名称。12) getServerPort() 获取服务器的端口号。13) getParameterNames() 获取用户提交的信息体部分中 name参数值的一个枚举。(2)Response: 对用户的请求做出动态响应,向用
5、户端发送数据(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 removeAtt
6、ribute(String name)(4) Application:由服务器创建, 该对象对访问该服务器的所有用户共享,不同的 web服务目录下,application 不同4、什么是Javabean? Javabean有哪些特征?在Javaweb开发中有什 么作用?(1) JavaBean 是一个可重复使用的软件组见,一种 Java 类,通过 封装属性和方法成为某种功能或处理某个业务的对象(2) 特征:(5) Out: 用来向用户端输出数据可实现代码的重复利用 易编写,易维护,易使用 可以在任何安装了 Java运行环境的平台使用,而不需要重 新编译。(3) 作用: 处理数据,储存数据,有效
7、的分离静态部分和动态部分 5、保存 bean 的字节码 创建 bean、 在web服务目录下建立子目录结构:WEB-INFclasses、,则 根据类的包名在 classes 下建相应子目录,如 tom.jiafei 目录结构为 tomjiafei将 bean 的字节码文件复制到 WEB-INFclassestomjiafei6、bean的加载原理引擎当JSP页面使用jsp动作标记useBean加载一个bean时,jsp 将首先根据jsp动作标记useBean给出的bean的id名字以及scope 给出的使用范围,在下一个同步块中查找 jsp 引擎内置 pageCOntent 对象中是否含有这
8、样的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
9、 ,直到服务器关闭。共享,修改会影响其他用户8获取或修改bean的属性使用动作标记get Property、set Property 获取或修改9、如果表单提交的信息中有汉字,接收该信息的页面应该做怎样的 处理?(Request设置编码request.setCharacterE ncodi ng(gb2312);(2)对信息重新编码String str=request.getParameter“message);Byte b=str.getBytes( “ ISO-8859-1 ”);Str = new Stri ng(b);10、include指令标记和include动作标记的不同。(1)
10、i nclude指令标记: 语法格式: 作用:在JSP页面出现该指令的位置处,静态插入一个文件。 (可重复使用) include指令标记是在编译阶段就处理所需要的文件,被处 理的文件在逻辑和语法上依赖于当前的 JSP页面,其优点是 页面的执行速度快;(2) in clude动作标记: 语法格式:或jsp:include page=” 文件的 URLP aram子标记/js p:i nclude include动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前JSP页面,其优点是可以使用Param子标记更灵活的处理所需要的文件, 缺点是执行速度要慢些。11、MV(模式的
11、工作原理,JSP技术中MV(模式的具体实现。 模型-视图-控制器模型:用于储存数据的对象 视图:向控制器提交所需的数据、显示模型中的数据 控制器:负责具体的业务逻辑操作JSP技术中mvc的实现:javabean对象,用于存储数据。jsp页面,像控制器提交必要的数据和显示模型:一个或多个视图:一个或多个 数据servlet对象,根据视图提交的要求进行数控制器:一个或多个挾呦:山卜或* b Javabean 构成据处理操作,并将有关结果储存到 JavaBean中,然后servlet 使用转发或重定向的方式请求视图中的某个 jsp页面显示数据。/ srcI曰构成r js-p-i :f .: I t玄
12、硏说一 图12 JSF中的MVC模式诂数据12、什么是servlet ? servlet的生命周期。(1) 在服务器端创建能响应用户请求的对象。(2) 初始化Servlet。Servlet第一次被请求加载时,服务器 初始化这个servlet 新诞生的servlet再调用service方法响应用户的请求 服务器关闭时,调用destroy方法销毁servlet13、HttpServletResponse类的sendRedirect方法和RequestDispatcher 类的 forward 方法有何不同?(1) sendRedirect浏览器地址改变,重定向,无法使用request获取用户提交的
13、数据(2) forward浏览器地址不改变,转发,可以使用request获取用户提交的数据14、假设创建 servlet 的类是 tom.jiafei.Dalian, 创建的 servlet 对象的名字是 myservlet,应当怎样配置 web.xml文件?myservlet tom.jiafei.Dalianmyservlet/myservlet 15、采用MV(模式实现会员注册;当新会员注册时,该模板要求用户 必须输入会员名,密码信息,否则不允许注册,注册成功返回登录页 面 login.jsp (不需要编写)。用户的注册信息被存入数据库的 member 表中。具体要求如下:a)b)c)写
14、出注册页面表单代码,要求详细代码。 编写 Servlet 类处理控制流程。 并写出 Servlet 部署文件 web.xml。 编写 Javabean 文件描述用户的注册信息, 负责连接数据 库,判断用户名是否存在以及保存注册数据。a)register.jsp form 表单type=password name=userpass用户名 value= 密码 d)doGet(HttpServletRequestresponse) throws注册 /request,ServletException,input type=submit class=denglu value=b) Registerse
15、rvlet.java( 注册功能的 servlet) public class Registerservlet extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(config);public voidHttpServletResponse IOException request.setCharacterEncoding(utf-8);String username = request.getParameter(username);String userpas
16、s = 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.ge
17、tWriter().write( 用户名已存在 );doPost(HttpServletRequest request, response) throws ServletException,Public void HttpServletResponse IOException doGet(request, response); c) Web.xmlRegisterservlet.servlet.RegisterservletRegisterservlet/registerservlet d)Javabean 命名为 user.java public class Users private St
18、ring 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(.mysql.jdbc.Driver);con = Dri
19、verManager.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 g
20、etUserpass() return userpass;public void setUserpass(String userpass) this.userpass = userpass;16、采用MV(模式实现web应用。用户可以通过JSP页面输入三角形 三边的长度的一个 servlet 控制器,控制器负责计算三角形的面积, 并将面积存放在数据模型中,然后请求JSP页面显示数据模型中的面 积。写出几个文件的关键代码(或程序流程,尽量采用代码) ,具体要求如下:a)b)c)d)写出输入三条边的页面表单代码,要求详细代码。 编写 servlet 类文件,处理控制流程。 并写出 servlet
21、部署文件 web.xml。 编写三角形的 Javabean 文件。a)JSP 页面命名为 sanjiao.jsp 三角形:边A: 边B: 边C: : 边 A: 边 B: 边 C: 的面积是 b)servlet 类为 HandleArea.java package myservlet.control; public class HandArea extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(config);public void doGet(HttpSer
22、vletRequest 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); s
23、ession.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(
24、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 handlemyservlet.control.HandAreahandle /handleAread) javabean 文件为 Area.java package mybean.data;public class Area dou
25、ble 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(doub
26、le 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() return b;public void setB(double b) this.b = b;public double getC() return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年福建省事业单位招聘笔试备考试题及答案解析
- 2026广东清远市英德市人民武装部招聘专项临聘人员1人考试参考试题及答案解析
- 2026年中山金融投资控股有限公司校园招聘考试模拟试题及答案解析
- 2026黑龙江大兴安岭塔河县乡镇卫生院招聘医学毕业生3人考试备考试题及答案解析
- 2026年中国移动上海分公司校园招聘笔试模拟试题及答案解析
- 2026年中石化江西石油分公司校园招聘笔试模拟试题及答案解析
- 2026年克拉玛依市克拉玛依区事业单位招聘笔试参考题库及答案解析
- 城市轨道交通行车值班员安全风险知识考核试卷含答案
- 2020乐清考编电厂笔试专业技能考点练习题及参考答案
- 2021建设工程监理零负担刷题套卷及答案解析
- 黑龙江哈尔滨德强学校2025-2026学年度六年级(五四制)下学期阶段学情调研语文试题(含答案)
- 2026年温州市瓯海区专职社区工作者公开招聘6人笔试参考试题及答案解析
- 医养结合模式下的老年护理策略
- 2026年社会工作者初级真题及答案
- 酒店建设工作方案
- 2026浙江省公安厅警务辅助人员招聘137人备考题库及答案详解(真题汇编)
- 车辆技术档案范本(一车一档)
- 0电连接安装施工作业指导书
- FZ/T 73072-2022矿工袜
- GB/T 15242.1-1994液压缸活塞和活塞杆动密封装置用同轴密封件尺寸系列和公差
- 友谊是什么(中文)
评论
0/150
提交评论