SSH整合
SSH2整合实例详细教程

本次教程是SSH2的环境搭建,主要用到的技术是struts2.0+hibernate3.2+spring2.0,这种架构在现在很流行的,也是很多高校学生做毕业设计的架构,今天我们就用这种架构做一个简单的实例,详细的步骤,在于抛砖引玉,给大家一点启发。
一、创建数据库的时候会创建出联合主键<Composite-id>。
二、项目创建1、打开MyEclipse,点击File,指向New,点击Web Project。
2、输入工程名SSH,J2EE Specification Level为Java EE 5.0,点Finish即可创建完项目。
三、添加hibernate环境1、右击刚建立的SSH项目,指向MyEclipse,点击Add Hibernate Capabilities。
2、出现如下对话框之后,选择要用到的Hibernate3.2,以及所用到的包,选择Copy checked Library Jars to project folder and add to build-path,点击Next。
3、到了这一步,按默认设置,点击Next。
4、取消Specify database connection details的选择,再点击Next。
5、取消Create SessionFactory class选择,最后点击Finish。
这样一些有关hibernate的jar包点导进来了,以及建了一个hibernate.cfg.xml文件。
导入前:导入后:四、添加spring环境1、和添加hibernate环境的方法大致相同,右击SSH项目,指向MyEclipse,点击Add spring Capabilities。
2、选择要用到的Spring 2.0,勾选用到的库,注意还要勾选Spring 2.0 Web Libraries的库,一共是勾选了5个库的。
再选择Copy checked Library contents to project folder(TLDs always copied),点击Next。
SSH整合常见错误

spring+hiberna te出错小结:(1)ng.NoClass DefFou ndErro r: org/hiberna te/context/Current Sessio nConte xt原因:出现这错误时,请更改hibe rnate的包,更新至最新或3.1以上(2)ng.NoClass DefFou ndErro r: javax/transac tion/Transac tionMa nager原因:缺少jta.jar 或者是找不到h bm.xml文件导致sessio nfacto ry出错,检查hbm文件路径是否正确,文件是否存在(3) 错误:Excepti on in thread"main" org.hiberna te.excepti on.SQLGram marExc eption: Could not execute JDBC batch update或者org.springf ramewo rk.jdbc.BadSqlG rammar Except ion: Hiberna te operati on: could not insert: [com.yourcom pany.model.Login]; bad SQL grammar [insertinto mysql__login(name, passwor d) values(?,?)]; nestedexcepti on is java.sql.SQLExce ption:Table 'mysql.mysql__login'doesn't exist java.sql.SQLExce ption: Table 'mysql.mysql__login' doesn't exist原因与解决:因为Hiber nate Tools(或者Eclip se本身的D atabas e Explore r)生成*.hbn.xml工具中包含有cata log="***"(*表示数据库名称)这样的属性,将该属性删除就可以了(4)org.springf ramewo rk.orm.hiberna te3.Hiberna teQuer yExcep tion: undefin ed alias原因:在spring配置文件中,可能你设置了<prop key="hiberna te.query.factory_class"> org.hiberna te.hql.classic.Classic QueryT ransla torFac tory</prop>,指定了HQL的解释器,请删除或更改另一个解释器o rg.hiberna te.hql.ast.ASTQuer yTrans latorF actory,如果没有设置,请确认是否有写错了HQL语句,是否与POJO里的属性一样。
SSH框架整合常见异常

spring+hibernate出错小结:(1)ng.NoClassDefFoundError: org/hibernate/context/CurrentSessionContext原因:出现这错误时,请更改hibernate的包,更新至最新或3.1以上(2)ng.NoClassDefFoundError: javax/transaction/TransactionManager原因:缺少jta.jar 或者是找不到hbm.xml文件导致sessionfactory出错,检查hbm文件路径是否正确,文件是否存在(3) 错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update或者org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [com.yourcompany.model.Login]; bad SQL grammar [insert into mysql__login (name,password) values (?,?)]; nested exception is java.sql.SQLException: Table'mysql.mysql__login' doesn't exist java.sql.SQLException: Table 'mysql.mysql__login' doesn't exist原因与解决:因为Hibernate Tools(或者Eclipse本身的Database Explorer)生成*.hbn.xml 工具中包含有catalog="***"(*表示数据库名称)这样的属性,将该属性删除就可以了(4)org.springframework.orm.hibernate3.HibernateQueryException: undefined alias原因:在spring配置文件中,可能你设置了<prop key="hibernate.query.factory_class"> org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>,指定了HQL的解释器,请删除或更改另一个解释器org.hibernate.hql.ast.ASTQueryTranslatorFactory,如果没有设置,请确认是否有写错了HQL语句,是否与POJO里的属性一样。
bpm与SSH整合详解

基本步骤1、集成JBPM到系统(第一步:创建数据库表)* 拷贝相关的依赖包到WEB-INF/lib下面(bsh.jar/ jcr-1.0.jar/ jbpm-identity.jar/ jbpm-jpdl.jar)* 修改hibernate.cfg.xml,添加JBPM的映射配置,以及缓存属性的配置,可从jbpm包下的config文件夹下参考其hibernate.cfg.xml文件*在使用Jbpm工作流引擎的时候,Hibernate配置文件一定要加上属性<property name="hibernate.hbm2ddl.auto">update</property>Hbm2dll.auto是数据库表和类自动连接更新* 因为JBPM中的User对象与OA系统中的User对象名称上有冲突,所以需要修改系统中User映射的auto-import 属性为"false"。
(参考User.hbm.xml)* 当修改了User映射的auto-import="false"之后,需要在查询User对象的时候,使用其全路径类名(请参考UserManagerImpl.java)* 启动Tomcat,应能正确创建JBPM的所有数据库表2、集成JBPM到系统(第二步:与Spring集成)* 集成JBPM与spring,需要用到第三方的集成包:spring-modules-0.8.zip* 将其中的spring-modules-jbpm31.jar拷贝到WEB-INF/lib下面即可* 集成JBPM与Spring的方法是:将JbpmConfiguration对象的创建交给Spring来完成* 所以,需要在spring配置文件中配置JbpmConfiguration对象的创建<!-- 配置JbmpConfiguration --><bean id="jbpmConfiguration"class="org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean"><property name="configuration" value="classpath:jbpm.cfg.xml"></property></bean>* 这时候,需要jbpm.cfg.xml,这是JBPM的配置文件,我们可以从:JBPM_HOME"src"jpdl"org"jbpm目录下拷贝default.jbpm.cfg.xml文件,并重新命名为jbpm.cfg.xml3、集成JBPM到系统(第三步:如何实现业务逻辑类,请参考WorkflowManagerImpl.java)* 用到jbpmConfiguration对象的时候,需要注入 (<property name="jbpmConfiguration"ref="jbpmConfiguration"></property>)* 当我们使用JbpmContext对象来操纵JBPM的时候,需要将JbpmContext的HibernateSession对象设置为当前的HibernateSession对象private JbpmContext getContext(){JbpmContext context = jbpmConfiguration.createJbpmContext();context.setSession(getSession());return context;}4、实现WorkflowManagerImpl- 理解基本的JBPM操作:流程定义、流程实例、任务列表、流向Jbpm与ssh整合常出现的问题1、因为JBPM中的User对象与OA系统中的User对象名称上有冲突,所以需要修改OA系统中User映射的auto-import属性为"false"。
基于SSH整合MVC分层的网上商城的设计与实现

随 着经 济发 展 逐步趋 于 信息 化 和 网络技 术 的发
展 ,网上 购物 势必 成 为一 种 新 的 消 费方 式 .与 实 际 的商 店相 比 ,网上 商店 没 有 商 业 营业 面积 限制 ,也 没有 任何 时 间 限制 , 它 是 商 品 的 展示 平 台 ,是 一 种 虚拟 的 空 间.近 年 来 ,网上 商 城 系 统 由于 其 低 成 本 、高 效益 而得 到市 场 的 认 可 ,随之 而 来 的是 大量
系统 的升 级 .
第一层 : 客户端即浏览器 , 该层 次的功 能是客
户 和后 台 的交互及 最 终查 询结 果 的输 出.客户 端 向 指 定 的 We b服务 器 提 出服 务 器 请 求 ,然 后 We b服
务器 用 H 1 T r P协 议把 所 需 文件 资 料 传 给用 户 ,客 户 端接 受并 显示 在 WWW 浏 览器 上 . 第二 层 We b服 务 器 的功 能 层 ,完 成 客 户 的应
开发 , 使得软件开发 的分 工变细 , 提高生产 效率 , 这 里设 计 的 网上 商 城 的关 键 技 术 是 S t r u t s 2+H i b e r — n a t e + S p i r n g 和A J A X, 即S S H整合技术来对 网上商
城进 行 有效 的分 层 开发 .
洛 阳师范学院学报
J o u na r l o f L u o y a n g No r ma l Un i v e r s i t y
F e b ., 2 0 1 3
V0 1 . 3 2 No. 2
第3 2卷 第 2期
基于 S S H 整 合 MVC 分 层 的 网 上 商 城 的 设 计 与 实 现
ssh框架原理及流程

ssh框架原理及流程SSH框架原理及流程。
SSH框架是指Struts、Spring、Hibernate三大开源框架的整合,它们分别解决了Web层、业务逻辑层和数据访问层的开发问题。
SSH框架的整合,旨在充分发挥各自框架的优势,实现高效、灵活、可维护的Web应用程序开发。
在本文中,我们将深入探讨SSH框架的原理及流程。
首先,我们来了解一下SSH框架各个组成部分的原理。
Struts作为Web层框架,它采用MVC(Model-View-Controller)设计模式,将应用程序分为模型、视图和控制器三层,实现了数据、展示和控制的分离,提高了代码的复用性和可维护性。
Spring作为业务逻辑层框架,它提供了IoC(控制反转)和AOP(面向切面编程)等功能,通过IoC容器管理对象之间的依赖关系,实现了松耦合,降低了组件之间的耦合度。
Hibernate作为数据访问层框架,它提供了ORM(对象关系映射)功能,将Java对象和数据库表之间建立映射关系,实现了面向对象的数据访问,简化了数据库操作。
接下来,我们来了解SSH框架的整合流程。
首先,我们需要在项目中引入Struts、Spring、Hibernate的相关jar包,并配置它们的配置文件。
在web.xml中配置DispatcherServlet,用于拦截所有的请求,然后将请求分发给对应的Controller处理。
在Spring的配置文件中配置业务逻辑层和数据访问层的Bean,以及事务管理器等。
在Hibernate的配置文件中配置数据源、SessionFactory等。
然后,我们需要编写业务逻辑层和数据访问层的代码,并在Controller中调用业务逻辑层的方法,最终将数据返回给视图层进行展示。
在SSH框架中,我们可以充分利用Struts的表单验证、Spring的事务管理、Hibernate的持久化操作等功能,实现了Web应用程序的快速开发。
同时,SSH框架也提供了良好的扩展性,我们可以根据项目的需要,灵活地替换其中的某个框架,而不影响整体架构。
ssh三大框架整合

ssh三⼤框架整合Hibernate框架 1 hibernate核⼼配置⽂件 (0)orm思想 - 对象关系映射 (1)数据库信息 (2)hibernate信息 (3)映射配置 (4)hibernate核⼼配置⽂件 - 如果单纯使⽤hibernate框架,核⼼配置⽂件名称 hibernate.cfg.xml和位置 src下⾯固定的 - hibernate和spring整合时候,hibernate核⼼配置⽂件名称和位置没有固定要求的 2 hibernate映射配置⽂件 (1)实体类和数据库表映射关系—使⽤orm思想 3 hibernate操作的步骤 (1)在spring框架对hibernate框架进⾏封装,使⽤hibernateTemplateStruts2框架 1 Action操作 (1)action创建三种⽅式 - 继承类 ActionSupport (2)配置action访问路径 - 创建struts.xml配置⽂件,这个⽂件名称和位置固定 src下⾯的 (3)配置访问action的多个⽅法 - 使⽤通配符⽅式配置 (4)在action获取表单提交数据 - 获取request对象 ** 使⽤ServletActionContext类获取 - 属性封装 - 模型驱动(重点) - 表达式封装 (5)在action操作域对象 - 使⽤ServletActionContext获取域对象 (6)配置struts2的过滤器 2 值栈 (1)向值栈放数据 - set⽅法 - push⽅法 - 定义变量,⽣成get⽅法 (2)从值栈获取数据 - 在jsp中使⽤struts2标签+ognl获取 - <s:property> - <s:iterator> 3 拦截器 (1)aop和责任链模式 (2)⾃定义拦截器 - 继承MethodFilterInterceptor - 重写类⾥⾯的⽅法 - 配置拦截器和action关联Spring框架 1 spring核⼼配置⽂件 (1)名称和位置没有固定要求 (2)在spring核⼼配置⽂件中引⼊schema约束 2 创建对象 (1)xml配置⽅式:<bean id=”” class=”” scope=””/> (2)注解⽅式:四个注解 3 注⼊属性(对象类型属性) (1)xml配置⽅式: (2)注解⽅式:两个注解 - autowired - resource 3 使⽤ServletContext对象和监听器实现 (1)在服务器启动时候,加载spring配置⽂件,创建对象 (2)配置spring的监听器 (3)指定spring配置⽂件位置 4 jdbcTemplate 5 spring事务配置 (1)xml⽅式 (2)注解⽅式SSH框架整合思想 1 三⼤框架应⽤在javaee三层结构 2 struts2框架和spring整合 (1)struts2的action在spring配置 3 spring框架和hibernate框架整合 (1)hibernate的sessionFactory交给spring配置 (2)把hibernate数据库配置交给spring配置整合struts2和spring框架 1 把struts2的action交给spring管理 2 实现过程 第⼀步导⼊struts2的jar包 (1)导⼊⽤于整合的jar包 (log4j.properties为log4j的⽇志输出格式,放⼊src下⾯) (2)Spring为了整合Struts还需要额外再导⼊⼀个jar包:(该包在struts的lib⽬录下) (3)导⼊Struts2的jar包(struts2版本为2.3.24): (4)创建Actionpublic class UserAction extends ActionSupport {public String execute() throws Exception {System.out.println("Success....");return NONE;}} (5)创建Strut2的核⼼配置⽂件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><package name="demo" extends="struts-default" namespace="/"><action name="userAction" class="erAction"></action></package></struts> (6)在web.xml中配置struts2的过滤器<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping> (7)导⼊Spring整合Web项⽬的jar包,也就是监控项⽬启动的监听器所在的jar包 (8)创建Spring的核⼼配置⽂件并在其中引⼊约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/tx/schema/tx/spring-tx.xsd"></beans> (9)把action交给Spring进⾏配置1 <!-- 配置action的对象 -->2 <!-- 注意action是多实例的,因此我们这⾥把scope配置为prototype的 -->3 <bean id="userAction" class="erAction" scope="prototype"></bean> ①在spring配置action对象,在struts.xml中也配置action对象 ②解决: 只需要在spring⾥⾯配置action对象,不要在struts.xml中配置<struts><package name="demo1" extends="struts-default" namespace="/"><!-- class属性⾥⾯不写action全路径了,因为写,action对象创建两次写spring配置的action的bean的id值--><action name="userAction" class="userAction"></action></package></struts> 可以这样写的原因是我们导⼊了⼀个Spring整合Struts2的jar包:struts2-spring-plugin-2.3.24.jar (10)web.xml中Spring监听器的配置<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:bean.xml</param-value></context-param> (11)测试准备 ①所需的为Struts2的核⼼配置⽂件:struts.xml ②Spring的配置⽂件:bean.xml ③项⽬的配置⽂件:web.xml ④Struts2的UserAction类 ⑤在UserAction中对UserService的调⽤ ⑥UserService中对UserDao的调⽤ ⑦UserDao类的编写struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><package name="demo1" extends="struts-default" namespace="/"><!-- class属性⾥⾯不写action全路径了,因为写,action对象创建两次写spring配置的action的bean的id值--><action name="userAction" class="userAction"></action></package></struts>bean.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd/schema/context/schema/context/spring-context.xsd/schema/aop/schema/aop/spring-aop.xsd/schema/tx/schema/tx/spring-tx.xsd"><bean id="userAction" class="erAction"><property name="userService" ref="userService"></property></bean><bean id="userService" class="erService"><property name="userDao" ref="userDaoImp"></property></bean><bean id="userDaoImp" class="erDaoImp"></bean></beans>web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" <display-name>spring-day4-ssh</display-name><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:bean.xml</param-value></context-param><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list></web-app>UserAction.javaimport com.opensymphony.xwork2.ActionSupport;import erService;public class UserAction extends ActionSupport {private UserService userService;public void setUserService(UserService userService) {erService = userService;}public String execute() throws Exception {userService.add();return NONE;}}UserService.javapublic class UserService {private UserDao userDao;public void setUserDao(UserDao userDao) {erDao = userDao;}public void add() {userDao.add();}}UserDao.java 其实现类public class UserDaoImp implements UserDao {public void add() {System.out.println("UserDaoImp....");}} (12)测试结果: 可以在后台观察到如下测试结果:image ⾄此,Spring和Struts2的整合已经完毕,然后是Spring对Hibernate的整合了。
基于SSH整合框架的研究生导师信息管理系统

2 7 4
内蒙古工业 大学学报
用户管理模块功能包括 : 用户可以修改登录账号和登录密码。 系统管理模块功能包括: 校级管理员可以添加角色、 修改角色 , 为角色分配功能菜单 、 添加用户、 修
改用 户登 录信 息 、 删 除用 户 、 为 用户 授权 、 对用 户 的 密码 进 行重 置 。院级 管 理 员 可 以在 自己管 理 范 围 内 使 用 以上 功能 ( 例如 : 学 院管理 员 只能添加 本学 院 的人员 ) 。
收 稿 日期 : 2 0 1 2—1 2—1 0
基金项 目: 内蒙古工业大学基金项 目( Z S 2 0 1 0 4 5 ) ; 内蒙古工业大学基金项 目( S K 2 0 1 1 2 8 )
作者简介 : 李 昆( 1 9 7 9 . ~) , 男, 内蒙丰镇 人 , 讲师 , 硕士 , 主要研究方 向: 研究生教育管理 We b 信息系统
的问题 , 而且 简 化 了系统 的开发 流程 , 提 高 了系统 的灵 活性 、 可 扩展性 和 可维 护性 。
1 系统 业 务 模 块 分 析
研究生导师管理系统共分为导师遴选、 网上招生、 信息维护 、 查询统计 、 用户管理 、 系统管理六大模
块 。各 模块 功 能详 细描 述 如下 :
作用 日 益增强 。改善现行管理模式 , 将研究生导师工作信息化和科学化 , 是研究生教育管理 的发展方
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MyEclipse6.0的SSH整合Version 1.12010-6-20目录0.概述 (2)1.准备环境 (2)2.创建工程 (10)3.添加Struts支持 (11)4.添加Spring支持 (13)5.配臵数据源 (17)6.添加Hibernate支持 (28)7.添加Hibernate反转工程 (35)8.修改目录结构 (39)9.测试Spring和Hibernate的整合 (41)10.整合Struts和Spring (51)11.测试SSH的整合 (52)0.概述MyEclipse 是 Eclipse 的一个优秀插件,用于 Java EE 的开发,提供了诸如数据库管理、文件配臵管理等的一站式服务。
然而对于 SSH 的整合,仅仅使用 MyEclipse 是无法成功实现的。
这或许是MyEclipse 的 Bug,因为它自带的部分库文件并不能按照预期进行整合,需要我们手工干预。
因此,我们编写这个这个文档,希望对以后的 SSH 整合技术有一定的帮助。
本公司使用 MyEclipse6.0 构建 SSH 项目。
对公司开发部开会讨论,开发工具MyEclipse6.0。
另外需要指出的是,SSH 的整合有很多方法,这里只介绍其中的一种。
作为 Java EE 的开发,我们使用Tomcat5.5 作为 Web 容器,使用 MySQL 作为数据库。
1.准备环境下面是我们需要使用的软件开发环境:MyEclipse6.0Tomcat5.5MySQL5.1JDK6.0需要指出的是,各个软件的版本号并不一定需要和上面列出的相同。
但是,由于我们编写本教程时的实验环境是由上述各版本系统搭建的,因此不能确保其它版本的软件是不是能够正常运行。
另外由于MyEclipse 中已经附带了 SSH 所需要的各种库文件,所以我们一般不再需要另外的准备。
对于软件的设臵,我们将 MySQL 数据库编码设臵为 UTF-8。
具体方法为:安装好 MySQL 后,打开 MySQL Server Instance Config Wizard,请根据下面的图示进行设臵:1) 启动 MySQL 配臵向导界面,点击 Next 继续;图表 1 MySQL 服务器编码设臵(1)2)由于已经存在 MySQL 实例,因此系统会提示我们是重新配臵实例(Reconfigure Instance),还是删除该实例(Remove Instance)。
对于新安装的 MySQL 数据库则没有这一选项。
这里我们选择重新配臵即可;3 我们选择"Detailed Configuration";图表 3 MySQL 服务器编码设臵(3)4) 选择服务器类型,"Developer Machine(开发测试类,MySQL占用很少资源)"、"Server Machine(服务器类型,MySQL占用较多资源)"、"Dedicated MySQL Server Machine(专门的数据库服务器,MySQL占用所有可用资源)",根据自己需要的类型选择。
这里我们选择"Developer Machine";图表 4 MySQL 服务器编码设臵(4)5)选择MySQL数据库的大致用途,"Multifunctional Database(通用多功能型,好)"、"TransactionalDatabase Only(服务器类型,专注于事务处理,一般)"、"Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),根据自己的需要而选择。
这里我们按照默认选择"Multifunctional Database";图表 5 MySQL 服务器编码设臵(5)6) 对InnoDB Tablespace进行配臵,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位臵,重装的时候要选择一样的地方,否则可能会造成数据库损坏。
当然,对数据库做个备份就没问题了,这里不再详述。
这里没有修改,使用默认位臵,直接点击"Next"继续;图表 6 MySQL 服务器编码设臵(6)7) 选择一般MySQL访问量,即同时连接的数目,"DecisionSupport(DSS)/OLAP(20个左右)"、"OnlineTransaction Processing(OLTP)(500个左右)"、"ManualSetting(手动设臵输入一个数值)",这里选 "Decision Support(DSS)/OLAP",点击"Next"继续;图表 7 MySQL 服务器编码设臵(7)8)是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问MySQL数据库。
这里按照默认设臵即可。
在这个页面上,还可以选择"启用标准模式"(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。
如果还是个新手,建议取消标准模式以减少麻烦。
但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
点击"Next"继续;图表 8 MySQL 服务器编码设臵(8)9) 这里是MySQL设臵服务器编码的地方。
第一个是西文编码,第二个是多字节的通用utf8编码,都不是通用的编码。
我们选择第三个,然后在Character Set那里选择"utf-8",当然也可以用"GB2312" 或"GBK",区别就是GBK的字库容量大,包括了GB2312的所有汉字,并且加上了繁体字、和其它字体——使用MySQL的时候,在执行数据操作命令之前运行一次"SET NAMES GBK;"(运行一次就行了,GBK可以替换为其它值,视这里的设臵而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。
点击"Next"继续;图表 9 MySQL 服务器编码设臵(9)10) 选择是否将MySQL安装为windows服务,还可以指定ServiceName (服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,"mysql.exe -uusername-ppassword;"就可以了,不用指出mysql.exe 的完整地址)。
如果不是全新安装后的第一次设臵,这里是不允许全部设臵的。
保留默认选项,点击"Next"继续;图表 10 MySQL 服务器编码设臵(10)11)这一步询问是否要修改默认root用户(超级管理员)的密码(默认为空),"New root password",如果要修改,就在此填入新密码(如果是重装,并且之前已经设臵了密码,在这里更改密码可能会出错,请留空,并将"Modify SecuritySettings"前面的勾去掉,安装配臵完成后另行修改密码),"Confirm(再输一遍)"内再填一次,防止输错。
"Enable root access from remote machines(是否允许root 用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)"。
最后"CreateAn Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)",就不用选择了,设臵完毕,点击"Next"继续。
图表 11 MySQL 服务器编码设臵(11)12) 确认设臵无误,如果有误,按"Back"返回检查。
最后点击"Execute"使设臵生效。
图表 12 MySQL 服务器编码设臵(12)通过以上步骤,我们就设臵好了 MySQL 的服务器编码。
2.创建工程打开 MyEclipse,需要注意的是这里应该处于 MyEclipse Java Enterprise 视图。
新建一个 Web Project,输入适当的工程名字,这里我们输入 SSH,修改 Context root URL 为 ssh。
这个 URL 是使用 MyEclipse 部署时,浏览器访问站点时的根路径,如果你的工程名中包含空格,那么这个 URL 必须修改为没有空格的地址。
根据需要选择是否添加 JSTL,最后 Finish 即可。
图表 13 新建 Web Project确定之后 MyEclipse 会生成名为 SSH 的项目,其中生成的目录结构如下所示:图表 14 目录结构3.添加 Struts 支持在刚刚创建的 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse -> Add Struts Capabilities ,添加 Struts图表 15 添加Struts 支持文件在弹出的对话框中选择Struts1.2,修改 Base package for new classes 成所需的包名,其余保持原状,Finish 即可。
图表 16 修改包名此时已经完成 Struts 的配臵,相关的文件添加如下:图表 17 目录结构4.添加 Spring 支持:在 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse -> AddSpring Capabilities ,添加 Spring 的支持。
图表 18 添加 Spring 支持文件在弹出的对话框中选择 Spring 2,选择 MyEclipse Libraries,按照图示选择相关的库。
由于 Spring 采取最小化库发布的方式,使得Spring 的库文件彼此都是分离的,因而我们需要自己选择需要的库。
这里,AOP需要在添加 Hibernate 的事务处理时使用,Core 是Spring 的核心库,Persistence core 和 Persistence JDBC 库作为 Spring 持久化的支持,Web 允许 Spring 和 Struts 整合,其余保持原状,点击 Next。
图表 19 配臵 Spring 的支持库在这里添加 Spring 的配臵文件,可以将 Folder 更改为Web-Root/WEB-INF 目录。