【javaWeb】第64天——SSH练习第一天

svn的使用


课程回顾:SSH三大框架整合

1. 回顾SSH开发需要的jar和配置文件
	* Struts2框架
		* web.xml和struts.xml

	* Hibernate框架
		* hibernate.cfg.xml
		* Customer.hbm.xml
	
	* Spring框架
		* applicationContext.xml
		* log4j.properties
	
	* Spring框架整合JavaWEB
		* 在web.xml配置监听器	

2. Spring框架整合Struts2框架
	* Action类由Struts2创建(按名称自动装配)
	* Action类交给Spring创建(推荐的方式)
		* strtus.xml的Action编写ID值
		* 配置成多例的(不能忘记)
		* 手动注入service

3. Spring框架整合Hibernate框架
	* 带有hibernate.cfg.xml配置文件
		* 需要使用LocalSessionFactoryBean对象来加载hibernate.cfg.xml配置文件,生成SessionFactory对象。
	
	* 不带有hibernate.cfg.xml配置文件(推荐使用)
		* 使用LocalSessionFactoryBean对象来加载

4. HibernateTemplate模板类的简单的使用
	* Spring框架提供HibernateTemplate类,方便开发
	* 以后再编写Dao层,都可以继承HibernateDaoSupport类(父类:提供HibernateTemplate,如果不想注入HibernateTemplate,可以注入SessionFactory)

5. 解决延迟加载的问题
	* 产生了2个问题(第一个问题是jar冲突的问题,第二个问题no session的异常)
	* 解决方案
		* 在web.xml中配置过滤器OpenSessionInViewFilter
	* 做SSH框架的整合的时候,直接拷贝web.xml就OK

今天课程内容

1. svn版本控制软件的安装和使用

SVN的概述和安装


技术分析之svn的概述

1. svn的概述
	* SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
	* 互联网上很多版本控制服务已从CVS迁移到Subversion
	* 说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
	* 解决团队开发中的代码管理的问题

2. 如果没有svn,一般会遇到的问题
	* 代码管理混乱
	* 备份多个版本,占用磁盘空间大
	* 解决代码冲突困难
	* 容易引发BUG
	* 难于追溯问题代码的修改人和修改时间
	* 难于恢复至以前正确版本
	* 无法进行权限控制
	* 项目版本发布困难
	
	* 使用SVN工具,就可以管理上述的这一类问题!!

3. 简单的术语
	* 仓库
	* 提交
	* 检出/更新

4. 常用的版本的控制工具
	* VSS、CVS、SVN、GIT

技术分析之svn的体系结构

1. 体系结构如图(看SVN的使用手册的图)
	* SVN的仓库
	   * DB			-- 使用数据库作为SVN的仓库
	   * FSFS		-- 使用系统文件方式作为SVN的仓库
	
	* SVN仓库的访问(SVN的服务器)
	   * 整合Apache形式:http协议访问仓库
	   * svnserve的方式:使用命令开启SVN的服务,使用SVN的协议访问
	
	* SVN的客户端
	   * 命令行访问
	   * 图形化界面


技术分析之svn的安装

1. 双击Setup-Subversion-1.6.5.msi文件,注意自己的安装路径。点击next即可!!
	* 安装完成后,打开DOS窗口,输入svnadmin --version 回车,查看是否安装成功!!
	* 如果发现安装不成功,拷贝C:\Program Files (x86)\Subversion\bin路径,到环境变量的path配置一下就可以了!!

2. 可以了解一下svn安装后的目录结构
	* bin			-- 可执行的二进制文件
	* iconv			-- 字符集编码的文件
	* licenses		-- 许可证协议
	* share			-- 本地语言转换

技术分析之创建SVN的仓库(必须要先创建仓库,才能启动svn服务)

1. SVN已经安装完成了,下面需要创建SVN的仓库
	* 在某一个盘下创建文件夹,随意创建。例如:在C盘下创建Repositories文件,一个仓库可以存放多个项目,在Repositories文件夹中再创建多个子文件夹。代表不同的项目

2. 可以使用命令的方式或者图形化界面的方式来创建
	* 命令的方式:svnadmin create c:\Repositories\crm

3. 仓库创建好后,有如下的一些目录结构
	* conf			-- 配置文件(重点的配置文件)
		* svnserve.conf		-- SVN的配置文件
		* passwd			-- 用户名和密码的文件
		* authz				-- 权限认证的文件
	
	* db			-- 版本数据存储目录
	* hooks			-- 存放版本库勾子目录
	* locks			-- 存储库锁目录,用来跟踪库的访问者

4. 启动仓库
	1. 启动仓库分成两种主要的形式
		* 单仓库启动(只启动其中的一个仓库)
		* 多仓库启动(启动所有的仓库)
	
	2. 启动仓库的方式有三种
		* 命令行启动
			* 单仓库启动:
				* svnserve -d -r C:\Repositories\crm
			* 多仓库启动:
				* svnserve -d -r C:\Repositories
		
		* 使用批处理文件的方式启动,先创建一个批处理的文件,在该文件中复制如下命令
			* 单仓库启动:
				* svnserve -d -r C:\Repositories\crm
			* 多仓库启动:
				* svnserve -d -r C:\Repositories
		
		* 在系统上注册服务的方式,以后只要电脑一开机就自动启动了,注意:以下命令不要复制错误了!!
			* 命令:sc create SVN-Service binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r C:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip
				
				* 注意修改的地方1:C:\Program Files (x86)\Subversion\bin是自己的安装路径
				* 注意修改的地方2:C:\Repositories创建的路径(多仓库启动的方式)
		
		* 系统提示权限不足。使用管理员权限运行dos窗口		
		
	3. 总结:采用服务的方式启动仓库和如果删除服务
		* 命令:sc create SVN-Service binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r C:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip
		
		* 如果想要删除服务:sc delete SVN-Service

SVN的客户端工具的使用


技术分析之安装图形画界面的工具

1. 在可视化工具文件夹中选择自己电脑的版本的安装软件,双击安装!
	* 双击 TortoiseSVN-1.7.12.24070-x64-svn-1.7.9.msi 安装
2. 安装完成图形界面后,可以使用图形界面的方式创建仓库
3. 安装后重启电脑

技术分析之图形化界面的使用

1. 模拟两个人同时使用SVN的环境,使用图形界面进行文件的提交和更新的操作
2. 简单的操作
	* 选择 svn checkout		-- 检出(第一次都需要检出资料,和svn的服务器取得同步)
	* svn的默认端口号是3690,使用协议:svn://localhost:3690/crm 来检出内容
	* 创建文件,出现一个蓝色的 ? 号,说明该文件还没有被svn所管理,需要手动添加该文件。点击 add 完成添加
	* 出现蓝色的 + 号,说明已经被svn管理了,但是没有与svn服务器同步
	* 选中,右键点击提交,就可以与svn同步了

3. 如果没有提交成功,说明现在是没有权限的,可以先设置简单的权限
	*  简单的设置权限的版本
		* 1.打开crm的仓库
		* 2.找到仓库:conf/svnserve.conf
			* anon-access = write			---匿名用户可读,可写.

4. 其他人就可以来更新代码了

技术分析之设置权限

* 步骤一:找仓库中的conf/svnserve.conf
* 步骤二:修改配置文件
	* anon-access = none			-- 匿名用户没有权限。(取值:none/read/write)		
	* auth-access = write			-- 认证用户有读写权限
	* password-db = passwd			-- 让passwd的文件生效
	* authz-db = authz				-- 让authz的文件生效

* 步骤三 :打开passwd文件:设置用户名和密码
	xx=123
	yy=123

* 步骤四	:打开authz文件:设置用户的权限
	[groups]
	crmGroup=xx,yy
	
	[/]
	@crmGroup=rw
	* = 

技术分析之解决代码冲突问题(冲突一定会存在,必须要会解决)

1. 两个人都修改了同一个文件,然后一个先提交了,后提交的用户就会产生冲突。
2. 后提交的人需要来解决冲突
	* 先更新,然后删除掉多余的内容
	* 再重新提交

技术分析之锁机制(了解)

1. 右键,选择get lock 加锁,提交后默认就解锁了!!
2. 可以选择仓库,释放锁

Eclipse中安装svn的插件安装和使用


技术分析之Eclipse中安装svn插件

1. 在Eclipse中安装svn的插件
	* 先退出Eclipse
	* 步骤一:下载site-1.10.11.zip
		* 将其解压
			* features
			* plugins
	
	* 步骤二:创建一个文件夹svn,将两个文件夹copy到svn路径下
	* 步骤三:打开Eclipse安装路径:
		* eclipse\dropins
	* 步骤四:将svn的文件夹copy到dropins路径
	* 步骤五:重新启动Eclipse

技术分析之Eclipse中使用SVN工具

猜你喜欢

转载自blog.csdn.net/qq_33591055/article/details/83120251
今日推荐