转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6762554.html

一、什么是SSH?

SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架。

SSH主要用于Java Web的开发。现在SSH有SSH1和SSH2两种,区别在于Struts的版本是struts1.x还是2.x。本文介绍的是SSH1。

二、Struts Spring Hibernate各起什么作用?

Struts:控制逻辑关系。

Spring:解耦。

Hibernate:操作数据库。

学习SSH的一些建议

SSH适合开发一些中、大型的企业级网站。功能强大,性能也高。但是学习成本也高,麻烦也不少,不擅长做小型网站或便捷开发。

如果你熟悉Java并准备做动态网站的开发,SSH值得学习,如果你不熟悉Java,或没有一定的编程经验,只想做个简单的个人网站或者论坛。PHP也许更适合你。

准备工作

俗话说:“工欲善其事必先利其器”。让我们看看在搭建SSH前需要准备哪些工具吧。

1.JDK 

[下载地址1]  [下载地址2]  [JDK安装配置教程]

做Java开发第一步当然是Java开发环境了,JDK是必备的,本文中用的是jdk-8u111

2.MyEclipse 

[下载地址1]  [下载地址2]  [MyEclipse安装教程]

搭建SSH最好用的开发工具了,本文中用的是MyEclipse 10。

3.MySQL 

[下载地址1]  [下载地址2]  [MySQL安装教程]

完整的动态网站需要一个数据库。注意安装时设置的密码千万别忘了。本文中用的是MySQL 5.5.53

4.Navicat for MySQL

[下载地址1]  [下载地址2]  [Navicat for MySQL安装教程]

MySQL可视化开发工具,主要用他来操作数据库。本文中用的是Navicat for MySQL 10.1.7

5.JDBC 

[下载地址1]  [下载地址2]

数据库连接池,这是Java连接数据库必备的jar包。本文中用的是mysql-connector-java-5.0.8-bin.jar

安装顺序:JDK > MyEclipse > MySQL > Navicat for MySQL

网站结构和开发工具作用如下图:

五、搭建SSH步骤

开发工具下载安装完毕后,正式进入搭建步骤。

1.新建web项目。打开MyEclipse 选择 新建 > Web Project。

2.项目名称(Project Name)命名为“SSH”,J2EE选择“Java EE 6.0”,点击“完成”。若弹出对话框,选“是”就可以。

3.新建web项目后结构如下,可以看到在网站根目录下自动生成了一个首页index.jsp。

4.双击打开index.jsp,把“This is my JSP page.”改成“首页”。Ctrl + S 保存。可以看到出现如下提示:

5.这里出现了一个编码问题,页面默认的编码为ISO-8859-1,不支持中文字符,无法保存,我们需要更改jsp页面的编码格式。我们先把这个提示关掉。
在顶部菜单栏选择 窗口 > 首选项 > MyEclipse > JSP > Files and Editors > JSP,把编码改为ISO 10646/Unicode(UTF-8) > 应用 > 确定。

6.更改工作空间的编码格式。在顶部菜单栏选择 窗口 > 首选项 > 常规 > 工作空间 > 文本文件编码选择其他 > 其他选项里选择UTF-8 > 应用 > 确定。

编码问题是一个很常见的问题,为避免出现这类问题我们尽量将工作空间的所有编码格式统一,无论前台后台还是数据库,否则会引发许多问题,例如中文乱码。

7.这样设置后,我们的工作空间编码就比较统一了,再生成的JSP页面就是UTF-8编码格式了,能够很好的支持中文字符,不过之前生成的JSP页面编码格式要我们手动更改。

打开index.jsp,把第一行代码中pageEncoding="ISO-8859-1"改为pageEncoding="UTF-8"。Ctrl+S保存页面。更改后页面代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>首页</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
首页<br>
</body>
</html>

8.部署网站,测试网站是否可以正常访问。点击菜单栏上的部署按钮。

9.在弹出框中点击“Add”按钮添加要部署的Web项目。

10.在弹出框中服务器选项“Server”选择“MyEclipse Tomcat”,使用MyEclipse自带的Web服务器,点击“完成”。

11.可以看到下方的部署状态“Successfully deployed”。部署成功,点击“确定”。

12.点击运行服务器图标启动服务器。

13.如果在控制台出现“Server startup in xxxx ms”,则证明服务器启动成功,注意Tomcat默认使用的端口是8080,如果该端口被占用的话则启动失败。

14.打开浏览器,在地址栏输入我们的网址:http://127.0.0.1:8080/SSH ,可以看到页面上显示“首页”,证明网站部署成功,首页可以正常访问。

15.停止服务器。在控制台中点击红色的正方形图标停止服务器。

16.添加Struts1框架。右键项目选择 MyEclipse > Add Struts Capabilities...。

17.在弹出框的下方“Base package for new class”处把“com.yourcompany.struts”改成“com.ssh.struts”, 点击完成。

18.可以看到我们的项目目录下出现了“WEB-INF”文件夹,证明Struts框架添加成功。

19.添加Spring框架。右键项目选择 MyEclipse > Add Spring Capabilities...。

20.在弹出框中选择以下6个包,点击“下一步”。

21.在弹出框中点击“Browse”更改路径为SSH项目下的WEB-INF文件夹,点击“完成”。

22.展开WEB-INF文件夹可以看到多出了3个文件,并在文件夹上多出了一个"S"标志,证明Spring框架添加成功。

23.添加Hibernate框架。在添加Hibernate框架前我们需要准备好数据库。

新建数据库。打开Navicat for MySQL。在“连接”窗口空白处右键选择“新建连接”。

24.在弹出框中填写连接名为“mysql”,密码填写安装MySQL时设置的密码(如果安装时设置的密码忘了,只能卸载重装MySQL了)。

25.点击“连接测试”,如果提示“连接成功”,则证明数据库连接成成功,否则按照提示查找错误。点击“确定”关闭弹出框。

26.双击“mysql”打开连接,右键“mysql”选择“新建数据库”。

27.在数据名中填写“ssh”,字符集选择“utf8”,点击“确定”。

28.双击“ssh”打开数据库,在展开的列表中右键“查询”选择“新建查询”;

29.新建user表。把以下代码粘贴到弹出框中,点击“运行”按钮。

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(40) CHARACTER SET utf8 NOT NULL COMMENT '用户名',
`password` varchar(40) COLLATE utf8_unicode_ci NOT NULL COMMENT '密码',
`nickname` varchar(40) CHARACTER SET utf8 NOT NULL COMMENT '昵称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户信息表'; INSERT INTO `user` VALUES ('1', 'admin', '1234', '冰封百度');

30.右键SSH下的“表”点击“刷新”。

31.可以看到出现了“user”表,并且表中有一条数据,数据库建立完毕。

32.导入JDBC包。打开该项目所在文件夹,在项目根目录下新建“lib”文件夹,并把下载的mysql-connector-java-5.0.8-bin.jar粘贴进来。

33.返回MyEclipse,右键SSH项目点击“刷新”,可以看到jar包已经导入。

34.连接数据库。在顶部菜单栏中选择 窗口 > 打开透视图 > MyEclipse Database Exlporer。

35.在DB Browser窗口空白处右键选择“New”新建一个数据库连接。

36.在弹出的窗口中填写如下选项:

Driver template: MySQL Connector/J
Diver name: ssh
Connection URL: jdbc:mysql://127.0.0.1:3306/ssh
User name: root
Password 你设置的MySQL密码

点击“Add JARs”找到SSH项目下的mysql-connector-java-5.0.8-bin.jar。

勾选“Save password”保存数据库密码。

37.点击“Test Driver”测试数据库是否可以正常连接。

如果提示“Database connection successfully established.”则证明数据库连接成功,否则请与上一步填写的值比对。点击“完成”关闭窗口。

38.双击打开ssh数据库。逐层展开后会发现我们建立的user表,证明数据库连接成功。

39.添加Hibernate框架。点击右上角的MyEclipse图标返回JavaEE透视图。

40.右键SSH项目,选择MyEclipse->Add Spring Capabilities。

41.在弹出框中直接点击“下一步”。

42.配置中选择第二项“Spring configuration file”。把Spring框架与Hibernate框架整合到一起,然后点击“下一步”。

43.在配置中选第二项“Existing Spring configuration file”,使用Spring框架的配置文件,点击“下一步”。

44.DB Driver选择在添加Spring框架时配置的数据库驱动ssh,点击“下一步”。

45.取消勾选“Create SessionFactory class”,点击“完成”关闭窗口。

46.最后项目结构如下,SSH框架搭建完毕,注意在使用Tomcat服务器时,Struts的Form提交不支持中文,表单提交后会出现乱码,需要在web.xml中配置编码过滤器。

下一篇文章《JSP注册登陆页教程》我们将基于这个工程制作一个简单的注册登陆页,并解决一些SSH框架实际应用中遇到的问题。

applicationConext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ssh"></property>
<property name="username" value="root"></property>
<property name="password" value="admin"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean></beans>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- 中文乱码过滤器 Start -->
<!-- 在使用Tomcat服务器时,Struts的Form提交不支持中文,需要添加编码过滤器 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 中文乱码过滤器 End -->
<display-name />
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

SSH框架搭建详细图文教程的更多相关文章

  1. 转 SSH框架搭建详细图文教程

    原址:http://blog.sina.com.cn/s/blog_a6a6b3cd01017c57.html 什么是SSH? SSH对应 struts spring hibernatestruts ...

  2. SSH框架搭建详细图文教程(转)

    这篇文章看的我醍醐灌顶的感觉,比之前本科时候学习的SSH架构 要清晰数倍  非常感觉这篇博主的文章 文章链接为:http://blog.sina.com.cn/s/blog_a6a6b3cd01017 ...

  3. SSH框架搭建 详细图文教程

    转载请标明原文地址 一.什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架. SSH主要用于Jav ...

  4. [转载]SSH框架搭建详细图文教程

    http://www.cnblogs.com/hoobey/p/5512924.html

  5. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

  6. SSH框架搭建详细步骤整理

    学习Java面前有两座山,一座山叫SSM,一座山叫SSH,跨越了这两座山之后才能感受到这个语言的魅力所在,SSM框架的搭建详细在之前博客已经涉及了,今天来整理SSH框架详细步骤: 生有涯 而 学无涯 ...

  7. ssh框架搭建实例代码教程步骤

    http://blog.csdn.net/u010539352/article/details/49255729

  8. WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5

    //来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...

  9. 如何给 GitHub 添加 SSH key, 如何生成 SSH key 详细图文教程!

    如何给 GitHub 添加  SSH key, 如何生成  SSH key 详细图文教程! 一. 生成  SSH key https://ide.c9.io/xgqfrms/ 创建一个空项目:(或使用 ...

随机推荐

  1. python_07

    破解极限滑动认证 from selenium import webdriver from selenium.webdriver import ActionChains from PIL import ...

  2. Spring Cloud Alibaba(四)实现Dubbo服务消费

    本项目演示如何使用 Spring Cloud Alibaba 完成 Dubbo 的RPC调用. Spring Cloud与Dubbo Spring Cloud是一套完整的微服务架构方案 Dubbo是国 ...

  3. python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等)

    python3 解释器默认编码为Unicode,由str类型进行表示.二进制数据使用byte类型表示. 字符串通过编码转换成字节串,字节码通过解码成为字符串. encode:str-->byte ...

  4. Spring中的事务回滚机制

    初学者笔记 问题:在Java项目汇中,添加@Transactional注解,报错之后,事务回滚未生效,数据仍插入数据库中.经查看报错位置位于新增成功之后.空指针异常. 一.特性 先了解一下@Trans ...

  5. Spring Cloud - Zuul添加过滤器

    Zuul作为网关的其中一个重要功能,就是实现请求的鉴权.而这个动作我们往往是通过Zuul提供的过滤器来实现的. 一.过滤器方法的作用 想要使用Zuul实现过滤功能,我们需要自定义一个类继承ZuulFi ...

  6. java多线程的wait、notify/notifyAll区别

    1.wait().notify/notifyAll() 方法是Object的本地final方法,无法被重写.   2.wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized ...

  7. LinkedList实现原理(JDK1.8)

    LinkedList实现原理(JDK1.8) LinkedList底层采用双向链表,如果对链表这种结构比较熟悉的话,那LinkedList的实现原理看明白就相当容易. 链表通过"指针&quo ...

  8. 英语口语考试资料Food

    新东方推荐文章:Food and Health The food we eat seems to have profound effects on our health. Although scien ...

  9. scrapy请求传参-BOSS反爬

    scrapy请求传参-BOSS反爬 思路总结 首先boss加了反爬 是cookies的 爬取的内容为职位和职位描述 # -*- coding: utf-8 -*- import scrapy from ...

  10. python拆包

    如果需要把原组A赋值给args  字典B 赋值给kwargs 在调用函数的时候需要给参数 加上星号*