SSH框架搭建

轉載請標明原文地址

一、什麼是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”,點擊“完成”。若彈出對話框,選“是”就可以。

 

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表。把以下代碼粘貼到彈出框中,點擊“運行”按鈕。

1
2
3
4
5
6
7
8
9
10
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 '用戶名',
  `passwordvarchar(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 `userVALUES ('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.最後項目結構和applicationContext.xml內容如下,SSH框架搭建完畢。

下一篇文章我們將基於這個工程製作一個簡單的註冊登陸頁,並解決一些SSH框架實際應用中遇到的問題。

複製代碼
<?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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章