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
[] [] []
做Java开发第⼀步当然是Java开发环境了,JDK是必备的,本⽂中⽤的是jdk-8u111。
2.MyEclipse
[] [] []
搭建SSH最好⽤的开发⼯具了,本⽂中⽤的是MyEclipse 10。
3.MySQL
[] [] []
完整的动态⽹站需要⼀个数据库。注意安装时设置的密码千万别忘了。本⽂中⽤的是MySQL 5.5.53。
4.Navicat for MySQL
[] [] []
MySQL可视化开发⼯具,主要⽤他来操作数据库。本⽂中⽤的是Navicat for MySQL 10.1.7
5.JDBC
[] []
数据库连接池,这是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 = ContextPath();
String basePath = Scheme()+"://"+ServerName()+":"+ServerPort()+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,如果该端⼝被占⽤的话则启动失败。
15.停⽌服务器。在控制台中点击红⾊的正⽅形图标停⽌服务器。
16.添加Struts1框架。右键项⽬选择 MyEclipse > Add 。
17.在弹出框的下⽅“Base package for new class”处把“urcompany.struts”改成“com.ssh.struts”, 点击完成。
18.可以看到我们的项⽬⽬录下出现了“WEB-INF”⽂件夹,证明Struts框架添加成功。
19.添加Spring框架。右键项⽬选择 MyEclipse > Add 。
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提交不⽀持中⽂,表单提交后会出现乱码,需要在l中配置编码过滤器。
下⼀篇⽂章《》我们将基于这个⼯程制作⼀个简单的注册登陆页,并解决⼀些SSH框架实际应⽤中遇到的问题。
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="/schema/beans"
xmlns:xsi="/2001/XMLSchema-instance"
xmlns:p="/schema/p"
xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource"
class="org.apachemons.dbcp.BasicDataSource">
<property name="driverClassName"
value="sql.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="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>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="java.sun/xml/ns/javaee" xmlns:xsi="/2001/XMLSchema-instance" version="3.0" xsi:schemaLocation="java.sun/xml/ns/javaee java.sun/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>/l</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
ssh工具安卓下载<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>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论