SSH框架搭建 详细图文教程

Posted 冰封百度

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH框架搭建 详细图文教程相关的知识,希望对你有一定的参考价值。

转载请标明原文地址: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框架搭建 详细图文教程的主要内容,如果未能解决你的问题,请参考以下文章

SSH框架的搭建

Gitlab+Jenkins通过钩子实现自动部署web项目,图文详细教程

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

SpringDataRedis环境搭建(详细图文教程)

漏洞平台之struts图文详细搭建教程

Windows平台下搭建Git服务器的图文教程