转载请标明原文地址: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. 反汇编objc分析__block

    "You can specify that an imported variable be mutable—that is, read-write— by applying the __bl ...

  2. Promise.all()

    Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise  ...

  3. DDD实战与进阶 - 值对象

    目录 DDD实战与进阶 - 值对象 概述 何为值对象 怎么运用值对象 来看一个例子 值对象的持久化 总结 DDD实战与进阶 - 值对象 概述 作为领域驱动设计战术模式中最为核心的一个部分-值对象.一直 ...

  4. 小白学 Python 爬虫(9):爬虫基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  5. 10-kubernetes serveraccount RBAC

    目录 认证安全 serviceAccountName 和 userAccount serviceaccount 创建 使用admin 的SA 测试 URL访问kubernetes资源 APIserve ...

  6. 修改python3导致终端打不开

    误操作将/usr/bin/python3文件修改,或者删除,导致终端打不开, 解决办法其实很简单,ctrl+alt+f3进入命令窗口,将python2.7的文件拷贝到python中就可以解决了 sud ...

  7. Spring Boot 自动装配(一)

    目录 目录 前言 1.起源 2.Spring 模式注解 2.1.装配方式 2.2.派生性 3.Spring @Enable 模块驱动 3.1.Spring框架中@Enable实现方式 3.2.自定义@ ...

  8. 一道时间复杂度为O(N)空间复杂度为O(1)的排序问题

    题目:对1, 2, ... , n的一个无序数组,排序,要求时间复杂度为O(N),空间复杂度为O(1). 思路:该题利用数组元素和数组下标相差1的关系,Java代码如下: import java.ut ...

  9. 论文阅读 | Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

    简述 在文本语义相似度等句子对的回归任务上,BERT , RoBERTa 拿到sota. 但是,它要求两个句子都被输入到网络中,从而导致巨大开销:从10000个句子集合中找到最相似的sentence- ...

  10. springboot执行延时任务-DelayQueue的使用

    DelayQueue简介 在很多场景我们需要用到延时任务,比如给客户异步转账操作超时后发通知告知用户,还有客户下单后多长时间内没支付则取消订单等等,这些都可以使用延时任务来实现. jdk中DelayQ ...