S2SH框架知识点总结

合集下载

SSH2框架整合学习指南word资料11页

SSH2框架整合学习指南word资料11页

SSH2框架整合详细步骤内部资料2019年7月目的:通过一个简单的注册登录来学ssh框架的整合1 准备工作1.1工具准备Mysql5.5 , JDK 1.6, Myeclipse 6.5,tomcat6.0等辅助工具1.2整合类库集Struts-2.3.1.2, Hibernate 3.2,Spring 2.5(后两类库可以在myelcipse中有自带)2开始搭建平台1.启动myeclipse,建一个Web工程,如图所示:图中的需要输入项目名称即可,其余可以没必要选择,除非有需2.导入Struts2开发的必备类库说明:(此版本的myeclipse没有需要的struts2类库,所以选择手工导入)需要导入的类库常见8个:导入之后,还别忘了导入一个和spring整合需要的类文件这些工作之后还需配置web.xml文件,为它配置过滤器,配置文件详细如下:<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4"xmlns="http://java.sun/xml/ns/j2ee"xmlns:xsi="/2019/XMLSchema-instance"xsi:schemaLocation="http://java.sun/xml/ns/j2eehttp://java.sun/xml/ns/j2ee/web-app_2_4.xsd"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecute Filter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>配置好该处后,还需要在src下面建立一个struts.xml文件,关于该配置文件可以到你下载的struts2文件中,找个项目中,有这样的模版可以拷贝过来一个,这样配置strust2暂时解决了3.导入Hibernate类库文件,选择myeclipse进行导入单击你选择的项目,点击右键,按如图所示选择hibernate的支持选中点击之后得到如下界面,只需改JAR Library Installation如图所示点击next,得到如下,不需改动,继续点击next即可之后到该界面,因为后续来配置,此处就不选,不勾上,点击next接下来也是把勾去掉,不选择,点击finish即可就这样hibernate的支持也完成了3。

struts2、hibernate的知识点

struts2、hibernate的知识点

struts2、hibernate的知识点以下内容是我在复习struts2、hibernate和spring的时候记下得到,部分书上找不到的内容来⾃⽹络以下是⽹络部分的原⽂⽹站:Struts21:Struts2与Struts1的联系struts1与struts2都是mvc框架的经典实现模式。

Struts2是Struts1和Webwork结合的产物,但却是以WebWork的设计思想为核⼼,采⽤拦截器的机制来处理⽤户的请求,所以Struts 2可以理解为WebWork的更新产品2:Struts2与Struts1的区别1:因为Stuts2是针对拦截器开发的,也就是所谓的AOP思想,可以配置多个action,⽤起来⽐较⽅便,依赖性也更弱⼀点2:因为请求之前的拦截器有⼀些注⼊的操作,速度相对Stuts1来说慢⼀点。

3:Struts1是使⽤ActionServlet做为其中⼼处理器,Struts2则使⽤⼀个拦截器(FilterDispatcher)做为其中⼼处理器,这样做的⼀个好处就是将Action类和Servlet API进⾏了分离。

Struts1的Action类依赖于Servlet API,Struts2则不依赖于Servlet API4:Struts1的Action类是单例模式,必须设计成线程安全的,Struts2则为每⼀个请求产⽣⼀个实例5:因为Struts1依赖于Servlet API这些Web元素,因此对Struts1的Action进⾏测试的时候是很困难的,需要借助于其他的测试⼯具,Struts2的Action可以像测试其他的⼀些Model层的Service类⼀样进⾏测试6:Struts1的Action与View通过ActionForm或者其⼦类进⾏数据传递,struts2可以通过POJO(Plain Ordinary Java Object 简单的Java对象)进⾏数据传递7:Struts1绑定了JSTL,为页⾯的编写带来⽅便,Struts2整合了OGNL,也可以使⽤JSTL,因此,Struts2下的表达式语⾔更加强⼤3:Struts2的简单处理流程1:客户端产⽣⼀个HttpServletRequest的请求2:客户端产⽣的请求被提交到⼀系列的标准过滤器(Filter)组建链中3:核⼼控制器组建FilterDispatcher被调⽤,并询问ActionMapper来决定这个请求是否需要调⽤某个Action4:ActionMapper决定要调⽤那⼀个Action,FilterDispatcher把请求交给ActionProxy。

S2SH架构配置文件相关规则

S2SH架构配置文件相关规则

S2SH架构配置文件相关规则1.在web.xml 中配置struts2 和springweb.xml(顶级元素:web-app)是Java Web 的标准配置文件,要在Java Web项目中使用第三方框架,必然需要在该文件中进行配置。

1.1在web.xml 中配置struts2即指定Java Web 的过滤器为struts2 的核心控制器。

即定义一个filter,为该filter 起名,并指定其实际类,然后配置该过滤器拦截的URL范围,本例为所有。

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepa reAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>1.2 在web.xml 中配置Spring即指定Java Web 的监听器为Spring。

<listener><listener-class>org.springframework.web.context.ContextLoaderList ener</listener-class></listener>2.配置Struts2在web.xml 配置之后,struts2 就可以随Java Web 项目启动了,它会自动到/WEB-INF/classes(亦既/src 目录,因为此目录的文件在编译后位于/WEB-INF/classes)路径下寻找自己的配置文件struts.xml(顶级元素:struts)。

S2SH框架整合13页word文档

S2SH框架整合13页word文档
<beans
xmlns="/schema/beans"
xmlns:xsi="/2019/XMLSchema-instance"
xmlns:p="/schema/p"
xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.0.xsd">
<property name="myeclipse.connection.profile">Orcl</property>
</session-factory>
</hibeຫໍສະໝຸດ nate-configuration>
3、添加Spring框架的支持
<?xml version="1.0" encoding="UTF-8"?>
“师”之概念,大体是从先秦时期的“师长、师傅、先生”而来。其中“师傅”更早则意指春秋时国君的老师。《说文解字》中有注曰:“师教人以道者之称也”。“师”之含义,现在泛指从事教育工作或是传授知识技术也或是某方面有特长值得学习者。“老师”的原意并非由“老”而形容“师”。“老”在旧语义中也是一种尊称,隐喻年长且学识渊博者。“老”“师”连用最初见于《史记》,有“荀卿最为老师”之说法。慢慢“老师”之说也不再有年龄的限制,老少皆可适用。只是司马迁笔下的“老师”当然不是今日意义上的“教师”,其只是“老”和“师”的复合构词,所表达的含义多指对知识渊博者的一种尊称,虽能从其身上学以“道”,但其不一定是知识的传播者。今天看来,“教师”的必要条件不光是拥有知识,更重于传播知识。<?xml version='1.0' encoding='UTF-8'?>

(整理)s2sh架框架步骤.

(整理)s2sh架框架步骤.

今天开发了一个项目,s2sh做的,把开发的步骤记下来,Struts 2.1.6Hibernate 3.1Spring 2.5Jdk 1.6Tomcat 5.5.Myeclipse 6.5Sql server 2000创建一个web project ,选中java EE 5.0然后建package,结构如下加入struts2 的jar包到lib在src下建一个struts.xml文件,,加上<include file=”struts-default.xml ></include>”下一步,在web.xml文件里配置,strutrs的过滤器<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</fit er-class></filter><filter-mapping><filter-name>struts2</filter-name> <url-pattern>/*</url-pattern></filter-mapping>向工程里引入hibernateNext,next去掉框中选中的,点击finish接着再引入spring到工程里选中前三个加spring 2.5 web libreries copy to lib在web.xml加入<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value> </context-param><listener><listener-class>org.springframework.web.context.ContextLoaderList ener</listener-class></listener>在src下的applicationContext.xml加上/schema/aop/schema/beans/spring-aop-2.5.xsd/schema/tx/schema/beans/spring-tx-2.5.xsd 将数据库里的表反射到工程里系统就自动生成了一个java类和一个映射文件在dao里建一个接口package com.dao;import erinfo;public interface UserInfoDao {public Userinfo login(String name,String pwd);}Dao.Impl里去实现上面的接口package com.dao.Impl;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import erInfoDao;import erinfo;public class UserInfoDaoImpl extends HibernateDaoSupport implements UserInfoDao{public Userinfo login(String name, String pwd) {String hql="from Userinfo u where u.uname='"+name+"' and u.upwd='"+pwd+"'";List list=super.getHibernateTemplate().find(hql);if(list.size()>0){return (Userinfo)list.get(0);}return null;}}Biz定义的接口跟dao的一样package ;import erinfo;public interface UserInfoBiz {public Userinfo login(String name,String pwd);}Biz.Impl去实现biz接口package .Impl;import erInfoBiz;import erInfoDao;import erinfo;public class UserInfoBizImpl implements UserInfoBiz{ private UserInfoDao userInfoDao;public Userinfo login(String name, String pwd) {return userInfoDao.login(name, pwd);}public UserInfoDao getUserInfoDao() {return userInfoDao;}public void setUserInfoDao(UserInfoDao userInfoDao) { erInfoDao = userInfoDao;}}在web.action里建一个action类package com.web.action;import org.apache.struts.actions.DispatchAction;import erInfoBiz;import erinfo;import com.opensymphony.xwork2.Action;public class UserInfoAction extends DispatchAction{ private UserInfoBiz userInfoBiz;private String name;private String pwd;public String getName() {return name;}public void setName(String name) { = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String login(){Userinfo user=userInfoBiz.login(name, pwd);if(user!=null){return "success";}return "error";}public UserInfoBiz getUserInfoBiz() {return userInfoBiz;}public void setUserInfoBiz(UserInfoBiz userInfoBiz) { erInfoBiz = userInfoBiz;}}类写好了,然后就开始配置spring<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.5.xsd/schema/aop/schema/aop/spring-aop-2.5.xsd/schema/tx/schema/tx/spring-tx-2.5.xsd"><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean "><property name="configLocation"value="classpath:hibernate.cfg.xml"></property></bean><bean id="userInfoDao" class="erInfoDaoImpl"> <property name="sessionFactory"ref="sessionFactory"></property></bean><bean id="userInfoBizTarget" class="erInfoBizImpl"> <property name="userInfoDao" ref="userInfoDao"></property> </bean><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager "><property name="sessionFactory"ref="sessionFactory"></property></bean><bean id="baseBiz" abstract="true"class="org.springframework.transaction.interceptor.TransactionProxyFa ctoryBean"><property name="transactionManager"ref="transactionManager"></property><property name="transactionAttributes"><props><prop key="save*">PROPAGATION_REQUIRED</prop><prop key="update*">PROPAGATION_REQUIRED</prop><prop key="delete*">PROPAGATION_REQUIRED</prop><prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props></property></bean><bean id="userInfoBiz" parent="baseBiz"><property name="target" ref="userInfoBizTarget"></property> </bean><bean id="userInfoaction" class="erInfoAction" scope="prototype"><property name="userInfoBiz" ref="userInfoBiz"></property> </bean></beans>在webRoot下建一个jsp ,index.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags" %><html><head></head><body><s:form action="/login.action"><s:textfield name="name" label="用户名"></s:textfield><s:password name="pwd" label="密码"></s:password><s:submit></s:submit></s:form></body></html>再写一个登录成功页面,失败页面success.jsp,error.jsp在struts.xml配置<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><include file="struts-default.xml"></include><constant name="struts.objectFactory"value="spring"></constant><package name="mypackage" extends="struts-default"namespace="/"><action name="login" method="login" class="userInfoaction"> <result name="success">/success.jsp</result><result name="error">/error.jsp</result></action></package></struts>整个项目的结构是精品文档一个基于s2sh的项目就完成了,启动tomacat 精品文档。

Java使用框架:Struts 2框架使用指南

Java使用框架:Struts 2框架使用指南

Java使用框架:Struts 2框架使用指南引言:在当今快节奏的软件开发领域,使用框架已经成为一种常见的做法。

框架可以帮助开发人员更高效地构建应用程序,提高开发速度和质量。

在Java开发领域,Struts 2框架是一个非常受欢迎的选择。

本文将为读者提供一个详细的Struts 2框架使用指南,帮助他们更好地理解和应用该框架。

第一部分:Struts 2框架简介1.1 Struts 2框架概述Struts 2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。

它提供了一组用于开发Web应用程序的组件和工具,如控制器、视图和模型。

Struts 2框架的目标是简化Web应用程序的开发过程,提高应用程序的可维护性和可扩展性。

1.2 Struts 2框架的特点- 提供了清晰的MVC架构,使开发人员能够更好地组织和管理代码。

- 支持灵活的配置和注解,使开发人员能够根据具体需求进行定制。

- 提供了丰富的标签库和表单验证机制,简化了用户界面的开发和验证过程。

- 整合了许多常用的Java技术,如Hibernate、Spring和Tiles,提供了更强大的功能和扩展性。

第二部分:Struts 2框架的核心组件2.1 控制器(Action)Struts 2的控制器被称为Action。

一个Action是一个Java类,用于处理用户请求并生成相应的结果。

在Struts 2中,Action可以使用注解或配置文件进行声明和配置。

开发人员可以通过继承ActionSupport类来简化Action的开发。

2.2 视图(View)Struts 2的视图用于呈现结果给用户。

视图可以是JSP、FreeMarker模板或其他支持的模板引擎。

Struts 2提供了丰富的标签库和表单标签,使开发人员能够更轻松地构建用户界面。

2.3 模型(Model)Struts 2框架本身不提供持久化机制,但它可以与其他持久化框架(如Hibernate)集成。

Struts2学习笔记

Struts2学习笔记

struts2学习笔记Struts2 框架第一天今天重点内容: 1、什么是Struts2框架?框架特性分析 2、 struts2 快速入门(分析struts2 运行原理) 3、 struts2 常用配置 4、如何访问Struts2 Action (Servlet) 5、 Struts2 结果集使用(响应跳转/ajax) 1. Struts2 框架概述1.1. 什么是struts2Struts2 框架问题:什么是框架?为什么要学习框架?框架是一些已经写好代码,通常和具体业务无关(可以看成:软件的半成品)学习框架,提高开发效率,简化开发(应用框架,实现代码代码开发实现开发标准化) javaEE三层结构在web阶段 DAO模式符合JAVAEE三层结构的三层结构出自 JavaEE规范(体系结构图)? 表现层? 业务层? 持久层/集成层Struts2 是一个表现层框架(简化表现层代码开发)分层开发:代码结构更加清晰,为了更好维护和扩展1.2. struts2 由来由两个框架优点合并后发展而来(struts1 + webwork)历史由来: Java兴起 98年(最早进行java开发分方向 j2se 、j2ee、 j2me ) J2EE 企业级应用软件开发2000 年左右出现struts1 (几乎所有开发人员都在用)随着互联网的发展struts1设计慢慢开始存有缺陷和不足 Webwork框架的出现该框架的设计思想比struts1 先进的多,例如:引入拦截器机制、 ognl 表达式语言 Apache 推出struts2 框架,特点: 开发流程类似struts1 ,内部结构类似webwork (struts2 和 webwork 源自xwork 命令模式框架)1.3. struts2 开发包结构使用框架,导入jar包课程使用 struts-2.3.15.3-all.zip 版本学习apps 使用demo (方便后期快速导入jar包和配置文件)开发中war重命名成zip包解压找到里面的13个核心jar包 doc 文档(学习struts2的官方官方规范文档) lib 开发struts2 需要的所有jar包 src 源代码开发struts2 没必要导入 lib下 128个jar包(去struts2_blank.war下方找struts2 最基本jar)将war包改为zip 扩展名,解压缩回顾jar记忆: 核心struts2-core-3.15.3.jar+ xwork-core+ognl (3) 上传(2jar) 日志: 2 jar 字符串 lang 1asm.* 3 jar 处理字节码信息 javassist.jar 1 代理相关 freemarker 1 jar 图形模板引擎开发strutrs2 基包导入web 工程!感谢您的阅读,祝您生活愉快。

S2SH整合精华版

S2SH整合精华版

S2SH整合精华版S2SH整合详解关键字: struts2 spring2 hibernate3Struts 2,Spring 2,Hibernate 整合开发⼯具Eclipse 6.5/6.6 GA1.⾸先创建⼀个web⼯程,我们暂且起名为s2sh这⾥我们选择的是Java EE 5.0finish2.向⼯程加⼊hibernate⽀持,这⾥我们使⽤的是hibernate3.2默认就可以,不要忘记将jar包加⼊到/WebRoot/WEB-INF/lib接着next实际上这⾥的hibernate.cfg.xml不起作⽤,因为该配置⽂件的内容由后⾯的spring配置⽂件进⾏管理,我们可以在创建之后将其删除默认next我们根本不⽤hibernate.cfg.xml,所以这⾥根本不需要进⾏数据库配置,当然默认也⽆所谓。

继续nextsessionFactory我们在之后也会直接使⽤spring为我们提供的,所以这⾥不需要创建。

finish3.向⼯程加⼊spring⽀持,这⾥我们使⽤的是spring2这⾥我们选择的是spring2,不要忘记选中这5个库包:Spring 2.0 AOP LibrariesSpring 2.0 Core LibrariesSpring 2.0 Persistence Core LibrariesSpring 2.0 Persistence JDBC LibrariesSpring 2.0 Web Libraries也不要忘记将jar包加⼊到/WebRoot/WEB-INF/lib。

next这⾥我们不需要Enable AOP 所以不需要选中不要忘记将配置⽂件applicationContext.xml指定在/WEB-INF⽬录下,不然服务器启动时⽆法加载next这⾥的sessionFactory我们也不需要,之后会⼿动配置。

finish4.加⼊struts2⽀持,由于MyEclipse并没有加⼊Struts2的⽀持,所以我们需要⼿动导⼊相关jar包。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,MVC分层
MVC是一种分层架构的思想,采用这种分层思想可以降低各层次之间的耦合性,提高代码的灵活性
M(Model),即为模型层,指的是Java代码中数据的模型以及对数据的处理
V(View),即为视图层,指的是为用户提供的界面,通常我们使用JSP/html实现
C(Control),即为控制层,用来完成视图层和模型层之间的数据交互以及数据流程的控制
①反射:通过“包名.类名”的字符串能够完成类的加载、对象的实例化以及方法的调

②动态代理:在不改变原有代码流程的前提下,实现对业务逻辑的干预
JDK动态代理:只能够代理实现了接口的类,因为JDK动态代理就是通过产生父接口对象来代理实现类的对象。

CGLib动态代理:不能够代理final类,CGLib动态代理是通过产生被代理类的子类对象,来完成代理的
③XML解析:
DOM:DocumentBuilderFactory DocumentBuilder
SAX:SAXReader
练习 把我们写过的MVC重新写一遍
2,Hibernate(ORM:来完成Java代码到数据的映射以及数据的持久化工作)
①框架的使用:
a)添加JAR:hinernate3.jar/Lib文件夹下的jar包/对应数据库的驱动jar包
b)创建核心配置文件hibernate.cfg.xml并进行配置
c)创建HibernateSessionFactory、ExportTables
d)创建POJO(注意规范)
e)创建映射文件Pojo.hbm.xml
f)将映射文件添加到核心配置文件中
②对数据的增删查改:session.save(pojo);
session.delete(pojo);
session.update(pojo);
session.saveOrUpdate(pojo);
session.get(Pojo.class,id);
session.load(Pojo.class,id);
Query(HQL):list()---可以支持分页
Crit…(模糊查询)
③事务:在不使用Spring框架完成事务管理的情况下,我们需要手动对事务进行管理
④映射关系:多对一/一对多/一对一/多对多/继承映射
⑤延迟加载
⑥悲观锁和乐观锁
⑦缓存机制
⑧Pojo的三种状态:瞬态、持久态、游离态
3,Struts2(MVC):
①框架的使用
a)添加jar包:9个
b)创建核心配置文件struts.xml
c)在web.xml中对Struts2的过滤器进行配置
d)创建action
e)在struts.xml中对action进行配置
②Action创建的三种方式
③在Action中接收数据的三种方式
④Action配置的三种方式
⑤从Action中传值到页面的两种方式:全局变量和web元素
⑥如何在Action获取到web元素
⑦如何在页面取到Action传递过来的值?(值栈和上下文:ognl)
⑧数据类型转换
⑨国际化
⑩拦截器
⑪数据校验:
a)在action重写validate方法进行校验
b)通过validate.xml进行校验
⑫文件的上传和下载
⑬了解sitemesh(模版装饰)配置
⑭Struts2对ajax的支持
4,Spring:
Spring的核心思想:IoC和AOP
Spring的MVC→Spring也有一个拦截器,可以拦截请求,封装数据…
IoC:通过Spring的配置获取对象,并且给对象的属性赋值
AOP:AOP的含义,连接点,切入点,切点,切面,织入
配置:bean的配置,aop的配置
Spring对Struts2的支持:通过Spring的MVC完成本应由Struts2完成的请求拦截与封装在struts.xml中对“对象工厂”的配置
Spring对Hibernate的支持:帮助创建sessionFactory对象,完成事务管理
在applicationContext.xml中sessionFactory配置和事务管理的配置
→谈谈对Spring的理解
→Spring的MVC
→Spring对持久层的支持
→SpringAOP可以做些什么:数据库操作的事务管理,日志记录。

相关文档
最新文档