J2EE复习资料.docx
- 文档编号:25660332
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:18
- 大小:48.14KB
J2EE复习资料.docx
《J2EE复习资料.docx》由会员分享,可在线阅读,更多相关《J2EE复习资料.docx(18页珍藏版)》请在冰豆网上搜索。
J2EE复习资料
1J2EE三层体系结构:
应用服务器层、应用服务层、数据服务层(客户层、web层、业务层)
2J2EE组件:
一个自包含的Java功能程序单元,可以和其他元素装配成应用程序,分为:
客户组件(ApplicationClient/Applet)web组件(Servlet/Jsp)业务组件(EJB)
3J2EE全称:
Java2EnterpriseEdition,J2EE技术主要是java的服务器端技术
4.对J2EE技术的理解:
用于开发便于组装、健壮、可扩展、安全的服务器端Java应用。
JavaEE技术的基础是Java,不但拥有JavaSE平台的所有功能,同时还提供了对EJB、Servlet、JSP、XML等企业级技术的全面支持,形成了一个开发健壮且可移植的企业级应用系统的完整体系结构。
5.B/S模式的特点:
是一种分布式系统,通过客户端上的浏览器和web服务器、应用服务器、数据库服务器之间进行交互和协作来完成某个任务
6.Web应用程序的特点:
是运行在web服务器上的程序,也是基于B/S模式的程序,其特点是客户端软件都是运行在浏览器中的,一般安装或部署在应用服务器中,由应用服务器装载并运行并给客户端的请求提供相应的服务
JSP
JSP页面一般有JSP标签,JAVA程序,和HTML标签组成。
JSP标签控制JSP页面属性。
JAVA程序实现逻辑运算。
HTML标签创建用户界面。
当访问某个.jsp文件时,jsp引擎(理解为servlet容器中的某个特定的模块)会将.jsp文转换为.java文件(.java文件就是一个servlet),然后创建其实例,并调用其service()方法。
7JSP网页的组成元素:
注释、指令、脚本元素、模板数据、动作
静态的Html网页内容和动态的脚本语言程序和JSP标签
8JSP脚本:
程序脚本<%....%>表达式脚本<%=…%>声明语句<%!
...%>
9JSP标签(静态)<%@pageimport=“foo.*”%>jsp编译时执行
<%@includefile=”filename”%><%@tagliburi=”taglibURI”prefix=”tagPrefix”%>(动态) include> param>例: includepage=”included.jsp”> paramname=”companyName”value=”SDFI”/> include> useBean>例 useBeanid=”var”class=”classPathName”scope=”? ”/> forward> setProperty> getProperty 例 setPropertyname=”var”property=”proName”value=”data”> setPropertyname=”var”property=”proName”param=”paraName”/> getPropertyname=”var”property=”proName”/> 其中: ? 表示session或page或request或application 10.Jsp的内置对象及其作用: request: 表示客户端的请求,包含了所有的请求信息,是Servlet中service(或doPost/doGet方法)方法的resquest参数。 作用、封装客户端向服务器端的请求 response: 处理JSP生成的响应,然后将响应结果发送给客户端。 是service(或doPost/doGet方法)方法的response参数。 作用: 封装服务器向客户端发送的内容 out: 表示输出流,将作为请求的响应发送给客户端。 是PrintWriter的一个实例。 用于向客户输出内容 pageContext: 作用于页面,可以访问页面作用域中定义的所有隐式对象。 是PageContext的一个实例。 生命周期很短,出了页面就结束 application: 作用于整个应用程序。 是ServletContext的一个实例。 不同的浏览器共享一个数据,服务器关闭后结束。 是全局的。 作用: 服务器端用来在同一个web应用程序下的不同用户、不同浏览器、不同页面之间共享数据的集合对象,每个动态页面都可以在其中存放属性变量,用来在不同页面和不同用户中共享 config: 存储Servlet的一些初始信息。 是ServletConfig的一个实例。 作用: 被servlet容器用于传递参数到一个servlet page: 提供对网页上定义的所有对象的访问。 是一个Object对象。 是Servlet的一个引用。 exception: 此对象负责处理程序执行过程中引发的异常。 session: 表示用户的会话状况,用此机制可以轻易的识别每一个用户,能保存和 跟踪用户的会话状态。 是HttpSession的一个实例。 浏览器断开连接时结束,作用: 在服务器端创建一个集合对象,用来在同一个浏览器的不同请求之间共享数据,每次客户端请求的动态页面都可以在其中存放或者更新属性变量提供给另外的动态页面访问该变量 11转发 forward>和重定向response.sendRedirect的区别: 转发是由服务器直接转到另一个页面后返回客户端,客户端不知道,而且必须是在同一网站内,且不能直接放在脚本中必须用{}隔开;重定向是要先回客户端再有客户端请求,可直接放在脚本中 12.<%@include%>与 include>区别: 使用前者时包含的过程是静态的,静态包含就是指被包含的文件将会被插入到JSP文件中去。 和<%@include%>指令不同, include>包含的内容可以是动态改变的,它在执行时才确定,而前者包含的内容是固定不变的。 13.JSP网页和Html网页最主要的区别是: 前者是在客户端执行存储的且含有程序代码后者没代码 14.Servlet的定义: 服务器小程序,是用Java编写的服务器端程序,由客户端请求、服务器调用和执行的。 15.servlet的生命周期: (初始化阶段、运行阶段、销毁阶段)当第一次请求某个servlet时服务器自动载入并实例化该servlet并完成对其的一些初始化工作;当一个请求到达容器时,容器寻找相应的servlet实例,然后创建一个线程,根据此线程调用service方法,doget,dopost方法,当调用结束后调用destroy方法销毁该servlet 16.GenericServlet与HttpServlet的区别和联系: 前者提供了对Servlet接口的基本实现。 是一个抽象类,其service方法是一个抽象方法,其派生类必须直接或间接地实现该方法,声明: publicabstractclassGenericServlet后者: 声明: publicabstractclassHttpServletextendsGenericServletimplementsSerializable该类是针对使用Http协议的web服务器的servlet类。 该类通过执行servlet接口,能够提供Http协议的功能。 HttpServlet子类必须实现下面方法中的某一个: doGet、doPost、doPut、doDelete、init和distroy、getServletInfo 17.JSP指令: 页面指令<%@pagelanguage=""extends=""import=""session="">定义当前页面所以懒的信息,如需要导入的包,需要的字符集,输出流缓冲大小,对会话的要求等。 包含指令<%@includefile=""%>通知容器在翻译JSP时将另外的摸个文件的内容包含到Servlet中。 实现复用。 引入标签库指令<%@tagliburi=""prefix=""%> 18.Servlet与Applet区别: (同)J2EE组件,都是符合一定规格的java类,需要容器加载并被自动运行(异)符合的规格不同;前者在服务器有JVM,后者有服务器下载到容器中才有JVM;后者是图形用户界面,直接提供界面显示特性和用户交互的各种响应机制而前者不是;前者在服务器中需要部署而后者不用 19.servlet与javaBean的区别: 前者由服务器加载后者由用户程序加载;servlet查询数据库javabean保存查询结果;javabean就是一个普通的Java类,里面为属性增加了getter和setter并提供默认构造。 可以在多层架构的各层存在。 想用它作什么都行。 而Servlet是展示层的东西……应当只在展示层存在。 常作为MVC中的控制器。 20.web.xml文件中部署Servlet 21.JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,由一组用Java语言编写的类和接口组成。 22.JDBC: JDBC是java平台访问关系型数据库的API。 Connection接口: 代表数据库连接 Statement接口: 代表数据库操作对象 ResultSet接口: 代表结果集 JDBC应用程序的基本步骤: 1,注册驱动Driverdrv=newDriverConstruvtor();DriverManager.registerDriver(drv); 2,建立数据库连接Connectioncon=DriverManager.getConnection(Stringurl,Stringusername,Stringpasswd); 3,创建数据库操作对象 Statmentstm=null;ResultSetrs=null; Try{ Stm=connection.createStatement(); Rs=stm.execteQuery(SQL); }catch(SQLExecptione){} 4,执行SQLStatement执行SQL的语法: executeQuery()executeUpdate()execute() 5,处理结果集 While(rs.next()){ System.out.println(rs.getXXXMethod(column)); } 6,关闭JDBC对象 Finally{ If(rs! =null)try{rs.close();}catch(Exceptione){} If(stm! =null)try{stm.close();}catch(Exceptione){} If(pstm! =null)try{pstm.close();}catch(Exceptione){} If(con! =null)try{con.close();}catch(Exceptione){} } 23.EL表达式语言: ${expression}${pageScope.sampleValue+12} 24.JSTL(JSPStandardTagLibrary): 首先必须<%@tagliburi="prefix="c"%> 判断 iftest=”${emptycount}”> setvar=”count”value=”1”scope=”session”/> if> 循环 choose> whentest=”${emptycount}”> set…/> when> otherwhen>… otherwhen> choose> forEachvar="i"begin="1"end="10"step="1"> outvalue=${i}/> forEach> 分解字符 forTokensitems="aa,bb,cc,dd"delims=","var="aValue"> ${aValue} forTokens> 包含的页面 importurl="common.jsp"/> 包含的传递参数 paramname="paramName"value="paramValue"/> 获取url地址 urlvalue=""/> 页面重定向 redirecturl="/login.jsp"/> 数据库操作: <%@tagliburi="prefix=“sql"%> setDataSourcevar="ds"driver="sun.jdbc.odbc.JdbcOdbcDriver"url="jdbc: odbc: mydb"/> updatevar=”result”dataSource=”${ds}”> Createtableuser(namevarchar(10)primarykey,pwdvarchar(10)) update> querydataSource=”${ds}”var=”result”sql=”select*fromuser”/> foreachitems=”${result.rows}”var=”row”>${row.name}${row.pwd} 或items=”${result.rows.ByIndex}”${row[0]}${row[1]} foreach> 25.struts框架结构(由外到内): 核心控制器,拦截器,业务控制器 26.view: *.jsp显示结果和接收用户输入model: ActionForm保存用户输入数据control: Action处理来自用户端的请求并转发处理结果struts-config.xml: 对struts中使用的元素进行配置ActionServlet: 读取struts-config.xml文件,将Action保存在ActionConfig集合中 ApplicationResource.properties: 资源文件,定义了很多名值对,实现程序显示数据和程序分离 26.struts部署文件: : struts-config.xml和web.xml 提交数据调用业务处理 错误响应处理结果 正确响应 简述题1、JSP网页的组成元素 答: 指令标签、HTML标记语言、注释、java代码、Jsp动作标签 1、简述Servlet和Jsp的区别 答: (同)工作原理相同,都是接收了客户端的请求经过处理再返回客户端(异)servlet是JSP的基础,所有的jsp网页均能转化成servlet类,jsp本质上就是servlet类,是被服务器翻译成了特殊的servlet类;前者是在服务器端运行的而后者jsp是在客户端运行的;前者只能用程序输出,后者可写标签向客户端浏览器中输出所有网页内容 2、简述session的作用 答: session: 表示用户的会话状况,用此机制可以轻易的识别每一个用户,能保存和 跟踪用户的会话状态。 是HttpSession的一个实例。 浏览器断开连接时结束,作用: 在服务器端创建一个集合对象,用来在同一个浏览器的不同请求之间共享数据,每次客户端请求的动态页面都可以在其中存放或者更新属性变量提供给另外的动态页面访问该变量 3、写出利用JDBC查询数据库的语句 答: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);//加载驱动 Connectioncon=DriverManager.getConnection(“jdbc: odbc: mydb”);//创建连接 Statementst=con.createStatament();//创建语句 Stringsql2=“select*fromuser”; ResultSetrs=st.executeQuery(sql2); While(rs.next()) {System.out.println(rs.getString (1)+”,”+rs.getString (2))} con.close(); St.close(); 试卷上的题: 选择题 1、Jsp网页和HTML网页最主要的区别: (Jsp网页中还有程序代码) 2、<%@pageimport="java.util.*"%>标签是在什么时候被执行: (Jsp网页被编译的时候) 3、属于J2EE组件是: (servlet) 4、客户端每次对servlet的请求都会导致(init())执行 5、Jstl中用于查询数据库标签是: ( query>) 6、表达式语言的格式是: (${}) 7、Struts中相当于mvc模式中model的类是: (ActionForm) 8、Java程序通过(java.sql)包来访问数据库 填空题 1、J2EE的全称是(java2palateform、Enterprise、Edition) 2、在jsp页面中,表达式脚本的标签是(<%=%>) 3、在jsp中用来向客户端输出字符串的内置对象(out) 4、引入java.util.类库的指示标签是<%@pageimport="java.util.*"> 5、Servlet的父类是(Httpservlet) 6、在web.xml中部署Servlet的标签是( 7、Jstl中循环的标签是( forEach>) 8、Struts的配置文件名是(struts-config.xml) 判断题1、J2EE技术主要是java的服务器端技术T 1、Web应用程序就是java应用程序F 2、J2EE组件包括JSP、Servlet等T 3、J2EE组件就是JavaBeanF 4、JSP是运行在服务器端的Java程序F 5、JSP被转换成Servlet后被执行T 6、转发( forward>)和重定向(response.sendRedirect)是一样的F 7、JSTL中的L是Langeuage的缩写F 8、JDBC是javaDatabaseConnectivity的缩写T 9、Out对象是用来向客户端浏览器输出字符串T 设计题注册程序: 主界面: Register.jsp(失败页面)success.jsp(成功页面) Action: RegisterAction(处理数据,存入数据库、控制跳转) javaBean: user.java 成功 注册失败 提交数据封装 聊天室 主要页面: Login.jsp(登录)chatsend.jsp(发送信息)chatDisp.jsp(显示聊天室) Action: LoginAction、chatAction 提交失败(提示失败) 成功 失败提交数据 成功显示聊天信息 程序题第一题(写出jsp网页代码,要求输入学号和姓名,判断是否为空,不为空要求从新输入否则显示学号和姓名) LoginVal.Jsp填写用户信息 <%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> Stringerror=request.getParameter("error"); Stringname=request.getParameter("name"); Stringpassword=request.getParameter("password"); if(error! =null) {switch(error.charAt(0)) {case'0': out.println("用户名或密码为空,请重新输入");break; case'1': out.println("用户名为: "+name+"密码是: "+password);break; }}%> 用户名: 密码: //下面的这个jsp主要是验证是否为空testLogin.jsp <%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%><% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+": //"+request.getServerName()+": "+request.getServerPort()+path+"/";%> <%Stringname=request.getParameter("name"); Stringpassword=request.getParameter("password"); if(! name.endsWith("")&&! password.endsWith("")) {response.sendRedirect("LoginVal.jsp? name="+name+"&password="+password+"&error="+1); } else {response.sendRedirect("LoginVal.jsp? error="+0);}%> 第二题(jsp网页程序计算网页的点击次数并输出) <% Integercounter=(Integer)application.getAttribute("counter"); if(counter==0){Application.setAttribute("counter",newInteger (1));} if(counter! =null)
//显示12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE 复习资料