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>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM