您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 长春工业大学林园校区JAVA-WEB考试复习资料
Struts部分1、struts2与struts1及webwork的联系:大量新的MVC框架成了Struts强大的在竞争者,最有代表性的莫过于WebWork。WebWork是由OpenSymphony组织开发的,也是致力于组件化和代码重用的J2EEWeb框架。后来Struts与WebWork两大社区决定将两个项目合并2、struts执行过程图:3、配置struts的步骤:(1)引入struts2需要的jar文件(2)配置web.xml(3)编写JSP页面(4)编写Action(一个类似于Servlet的类)(5)配置struts.xml4、了解一下B/S和C/S模式:B/C:Brower/Server(浏览器/服务器)通过客户端浏览器,用户就可以和服务器端的数据进行数据交互操作C/S:Client/Server(客户/服务器)调用服务器端的数据进行业务处理5、过滤器web.xml(文件能看懂)filterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping6、映射文件struts.xml文件需要会写,标签actionresult等(1)如果class没有定义,会默认使用com.opensymphony.xwork..ActionSupport类,它有一个execute()方法,默认返回“success”strutspackagename=testextends=struts-defaultactionname=userLoginclass=com.messageboard.action.LoginActionmethod=userLoginresultname=stype=redirectuserlist.action/resultresultname=ff.jsp/result/action/package/strutsresult的name属性的默认值为”success”7、action文件会写,默认方法,两种方式写action文件(1)Action在Struts2中是负责Web应用程序中具体逻辑实现的。Action是一个Java类,一般的继承于com.opensymphony.xwork.ActionSupport类。(2)如果method属性为空,Struts2默认调用Action类的execute()方法。如果没有execute()方法,Struts2会抛出异常8、拦截器的概念:拦截器本身是一个普通的java对象,他的功能是动态拦截Action调用,在Action执行前后执行拦截器本身提供的各种各样的Web项目。当然也可以阻止Action的执行,同时也可以提取Action中可以复用的部分9、如何调用拦截器10、自定义拦截器:自定义一个拦截器需要3个步骤:a.自定义一个实现Interceptor接口或继承AbstractInterceptor类的类。b.在strutx.xml中部署上一步中定义的拦截器。c.为Action添加上述定义的拦截器。拦截器映射配置struts.xml文件interceptorsinterceptorname=“timer”class=“com.opensymphony.xwork2.interceptor.TimerInterceptor”/interceptorname=“logger”class=“com.opensymphony.xwork2.interceptor.LoggingInterceptor”//interceptors11、struts标签库分类,了解每类中常用的标签及作用,其中表单标签要求会写**在用struts标签之前先引入标签库代码为:%@pagelanguage=”java”contentType=”text/html;charset=gb2312”pageEncoding=”gb2312”%%@taglibprefix=”s”uri=”/struts-tage”%分类:一、控制标签:1、append标签功能:将多个集合合并成一个集合。2、Generator标签功能:将一个字符串按照指定的分隔符将字符串分割成多个字符串集合。3、If、elseelseif标签功能:a)If标签的功能判断条件是否符合if中定义的条件,和java中if的功能相同b)Else标签的功能判断条件是否符合else中定义的条件,和和java中else的功能相同c)Elseif标签的功能判断条件是否符合elseif中定义的条件,和和java中elseif的功能相同4、iterator标签功能:对某个集合中的所有的属性惊醒迭代遍历二、数据标签:1、Action标签功能:实现jsp中调用Struts2的Action2、bean标签功能:用来创建一个具体的javabean的实例3、date标签功能:用来在jsp等视图上显示日期4、debug标签功能:给开发人员提供一个在视图上调试代码的功能5、include标签功能:在一个页面包含另一个页面文件显示的内容***表单标签:表单标签:(1)form标签(2)textfield标签(3)textarea标签(4)checkbox标签(5)select标签(6)radio标签(7)password标签(8)file标签s:formname=form1action=s:textfieldlabel=用户名name=username/s:passwordlabel=密码name=userpassword/s:radiolabel=性别name=sexlist=#{'1':'女','2':'男'}value=#{'1':'女'}/s:selectlabel=出生日期name=birthdaylist=#{'1':'1980-1990','2':'1991-2000','3':'2001-2010'}/s:checkboxlistlabel=所在城市name=city1list=#{'1':'沈阳','2':'大连'}value=#{'1':'沈阳'}/s:textarealabel=个人说明name=textarealabelposition=leftcols=40rows=6/s:filelabel=插入图片name=fileaccept=image/jpeg//s:form12、OGNL是什么?作用是什么?OGNL:ObjectGraphNavigatingLan-guage------对象导航语言作用:OGNL就是从“值栈”中取出数据,并在某些条件下进行数据过滤和计算的表达式语言13、过滤器的编写(web.xml)filter!--过滤器名字--filter-nameStruts2/filter-name!—过滤器支持的Struts2类--filter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mapping!--过滤器拦截器名字--filter-nameStruts2/filter-name!--过滤器拦截文件路径名字--url-pattern/*/url-pattern/filter-mapping(2)如何把Web工程变成Struts2工程的步骤14.struts.xml文件中的action!--Action名字,类以及导航页面定义--!--通过Action类处理才导航的Action定义--actionname=”Login”class=”com.example.struts.action.LoginAction”resultname=”input”/jsp/login.jsp/resultresultname=”success”/jsp/success.jsp/result/action!--直接导航的Action定义--actionname=”index”result/jsp/login.jsp/result/action15.(1)action.java文件的编写(LoginAction.java)(书上27页)publicclassLoginAction{//action类公用私有变量,用来做页面导航标志privatestaticStringFORWARD=null;privateStringusername;privateStringpassword;publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringexecute()throwsException{username=getUsername();password=getPassword();try{if(username!=null&&!username.equals(“”)&&password!=null&&!password.equals(“”)){ActionContext.getContext().getSession().put(“user”,getUsername());FORWARD=”success”;}else{FORWARD=”input”;}}catch(Exceptionex){ex.printStackTrace();}returnFORWARD;}}(2)ActionSupport(书上29页)publicclassLoginActionextendsActionSupport{publicvoidvalidate(){}}Hibernate部分1、ORM是什么?产生的原因?是一种为了解决而面向对象与关联数据库存在的互不匹配的问题的技术!简单地说,ORM是连接对象和数据库之间的桥梁.产生的原因?随着面向对象的软件开发方法发展而产生的!2、ORM组成:1、一个对持久类对象进行CRUD的操作的API2、一个语言或API用来规定与类属性相关的查询3、一个规定mappingmetadata的工具4、一种技术可以让ORM的实现同事务对象一起进行dirtycheekinglazyassociationfetching以及其他优化操作3、Hibernate核心接口(1)Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象。(2)SessionFactory接口:产生Session实例的工厂。(3)Session接口:用来操作PO。它有get(),load(),save(),update()和delete()等方法用来对PO进行加载、保存、更新及删除等操作。它是Hibernate的核心接口。(4)Query接口:用来对PO进行查询操作。它可以从Session的createQuery()方法生成。(5)Transaction接口:用来管理Hiberante事务,它的主要方法有commit()和rollback(),可以从Sessio
本文标题:长春工业大学林园校区JAVA-WEB考试复习资料
链接地址:https://www.777doc.com/doc-1994906 .html