ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:22.63KB ,
资源ID:7582718      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7582718.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JAVA三大框架知识.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JAVA三大框架知识.docx

1、JAVA三大框架知识* Sturts2*配置struts2的步骤:1.找到struts-2.1.8.1夹2.在struts-2.1.8.1appsstruts2-blank-2.1.8.1WEB-INFlib下所有的jar文件导入到你自己的项目中 (1)拷贝所有的jar文件,放到项目中的一个文件夹中 (2)把拷贝过来的所有jar文件构建路径导入项目中。 也可以把所有的jar文件拷贝到web-inf/lib目录下3.修改你自己项目中的web.xml文件添加以下代码 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndEx

2、ecuteFilter struts2 /* 以上的这些代码是从struts2-blank-2.1.8.1例子中的web.xml文件中拷贝过来的。4.从struts2-blank-2.1.8.1例子中把struts.xml文件拷贝到自己项目类路径下并进行修改。5.部署启动,访问。*通常每个包都应该继承struts-default包, struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和Result类型。*struts2的处理流程FilterDispatcher-Interceptor-Action-Result-Jsp/html Struts2内置的一

3、些拦截器或用户自定义拦截器 用户编写的action类,类似struts1中的Action*struts中action后如果没有class则默认访问ActionSupport类的excute()方法,该方法的返回值与其下方的result中的name值进行比较,如果result后没有写name则默认为name=“success”,如果excute()方法的返回值与name的值相等则跳转到result后对象的相应JSP页面。*如果struts中action后写相应的类那么此类需要继承ActionSupport这个类,并覆写其中excute()方法,excute()方法的返回值为字符串类型,返回值与r

4、esult中的值进行比较,然后跳转到后边相应的JSP页面。*jar包拷贝到项目中构建路径之后,部署程序,点击浏览,如果struts21WEB-INFlib路径下没有相关的jar包那么解决办法为:将jar包直接拷贝到本项目中的web-inf/lib下。*访问项目的时候访问路径要根据struts的配置中命名空间进行访问,访问是逐层往回访问的,只要访问路径最前面的路径是命名空间的路径就可以访问成功。例如:明明空间是/aaa,则访问的时候输入/aaa/bbb/ccc也可以访问成功。*action接口定义了5个字符串常量:public static String SUCCESS = success;pu

5、blic static String NONE = none;public static String ERROR = error;public static String INPUT = input;public static String LOGIN = login;在excute()方法中return值可以直接写常量例如:return SUCCESS;*result配置:struts2中提供了多种结果类型,如: dispatcher(默认值):表示转发。redirect :表示重定向。redirectAction :重定向到其他的action。plainText:页面以源码的形式展现。*

6、struts配置中action有method属性,method属性值是所访问的类的一个方法名,method属性值是什么,访问类的时候就调用哪个方法。*struts中要修改访问时的后缀名,语句为:*如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。如:*如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法。*全局变量,访问的时候如果在action中没用找到result值那么会到全局变量中去寻找/message.jsp*通过这种方式,我们就可以将Struts 2的Action按模块配置在多个配置文件中。*struts2中表单提交的属性名可以直接在类中定义成变量,并必

7、须为变量设置get和set方法。表单的action就可以直接提交到struts的配置文件的action访问路径。*struts2标签 :* Hibernate*hibernate项目的创建流程:1.将hibernate的jar包以及mysql的jar包拷贝的项目中2.将user.hbm.xml拷贝到实体类中并将名字改为对应的类名3.配置user.hbm.xml中的内容 配置要生成表的相应的字段以及主键: 4.将hibernate的配置文件hibernate.cfg.xml导入到src路径下,并配置: com.mysql.jdbc.Driver jdbc:mysql:/localhost:330

8、6/hibernate root root org.hibernate.dialect.MySQLDialect *regedit 搜索注册表*hibernate中创建一个学生对象,把学生对象保存到数据库中的步骤:1.读取hibernate.cfg.xml配置文件Configuration cfg=new Configuration().configure();2.创建一个会话工厂SessionFactory sf=cfg.buildSessionFactory();3.从会话工厂取得会话Session session=sf.openSession();4.开启事务session.beginT

9、ransaction();5.持久化学生对象6.提交事务session.getTransaction().commit();7.释放资源session.close();*在查询数据的时候用session.load()方法会形成懒加载,在输出的时候才会发出SQL语句,而session.get()方法则不会形成,使用session.get()方法会直接发出sql语句 解决懒加载的办法是在session资源关闭之前输出所要查询的对象 ,那么session资源关闭之后仍然可以输出所要查询的对象。*表示的是多对一的关系 在多的那个类的配置文件中加入 *一对一的关系中在只有主键的那个类中加入 一对一的关系

10、在有外键和主键的类中加入 person *在一对一的外键唯一在只有主键的类中加入 在有主键和外键的类中加入*在一对多的关系中在一端配置文件中加入: 如果要双向关联需要在多端加入: 特别注意的是:两端指定的外键列名要相同 要不然会出现两列都是外键*在多对多的关系中两端的配置文件: 两端的配置是相反的*组件映射:映射文件: 其中contact不会被创建成表,它里面的这些属性会自动创建成相应的字段,因为它不是实体类,它只是实体类的一个组成部分。*复合主键也称之为联合主键,就是多个字段构成唯一性。 复合(联合)主键映射 通常将复合主键相关的属性,单独放到一个类中: 此类必须实现序列化接口 覆写hash

11、code和equals方法*hibernate中hql查询语句:1.单一属性查询/返回结果集属性列表,元素类型和实体类中相应的属性类型一致List courses = session.createQuery(select name from Course).list(); for (Iterator iter=courses.iterator(); iter.hasNext();) String name = (String)iter.next(); System.out.println(name); 2.多个属性查询/查询多个属性,其集合元素是对象数组/数组元素的类型和对应的属性在实体类中的

12、类型一致/数组的长度取决与select中属性的个数List courses = session.createQuery(select id, name from Course).list(); for (Iterator iter=courses.iterator(); iter.hasNext();) Object obj = (Object)iter.next(); System.out.println(obj0 + , + obj1); 3.返回实体对象/如果认为返回数组不够对象化,可以采用hql动态实例化Course对象/此时list中为Course对象List courses = s

13、ession.createQuery(select new Course(id, name) from Course).list(); for (Iterator iter=courses.iterator(); iter.hasNext();) Course course = (Course)iter.next(); System.out.println(course.getId() + , + course.getName(); 但是此时在类中必须有相应的构造函数4.使用别名/可以使用别名List courses = session.createQuery(select c.id, c.name from Course c).list(); for (Iterator iter=courses.iterator(); iter.hasNext();) Object obj = (Object)iter.next(); System.out.println(obj0 + , + obj1); 5.使用as命名别名/可以使用as命名别名List courses = ses

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1