很多初学 SSH 框架的人,都很想自己动手搭建一个 SSH 集成框架,但总会碰到各种各样的错误,网上的很多资料,看着挺详细,可按照步骤搭建的过程中,总得不到正确的结果。因此,下载了目前最新的包和开发环境,搭建一个 SSH 集成框架。
为什么说是集成框架,而不直接说是 SSH 框架,是因为本身 SSH 中的 Struts、Spring 和 Hibernate 就是框架,把三个框架整合到一起做开发,也就是框架的集成,所以是 SSH 集成框架。
在 MyEclipse 环境中搭建 SSH 集成框架,会更加便捷,这里先不说它,先来说说如何在 Eclipse 中搭建 SSH。
本教程是在 Win10 专业版 64 位操作系统中测试完成的,所以下载的很多包也是 64 位的,顺便分享(百度云下载 | 360云盘下载 访问密码 9318)。如果想在 32 位系统中尝试搭建,有些安装包分享中也有,当然文章中也会把官网下载链接贴出来的。
另外,搭建过程中所有的环境都是安装或解压在 F 盘中,所以文章中出现的盘符是 F 盘。
这一篇主要说一说整合 Struts2 部分。
第一步,如果系统没有 Java 编译环境,请先安装 JDK。如果有,略过此步。
JDK 官网下载地址为http://www.oracle.com/technetwork/java/javase/downloads/index.html,我这里下载的是最新版本的 jdk-8u66-windows-x64.exe,下载后双击安装,我这里安装到 F 盘下。别忘了配置环境变量。具体安装配置可参考《在Windows系统上安装JDK或JRE》一文。
第二步,既然要在 eclipse 中搭建 SSH 集成框架,当然首先需要下载 eclipse。
Eclipse 官网下载地址为:http://www.eclipse.org/downloads/,我这里下载的是 eclipse-jee-mars-1-win32-x86_64.zip,下载后解压到 F 盘下。
第三步,运行 WEB 项目,必须要服务器,这里选用开源好用的 Tomcat。
Tomcat 官网下载地址为http://tomcat.apache.org/download-80.cgi,本来想下载最新的 Tomcat9.0 试试,结果 Eclipse 中 Apache 只支持到 8.0,所以就选用了 apache-tomcat-8.0.30-windows-x64.zip,下载后解压到 F 盘下。
第四步,简单配置 Eclipse 环境,使得 Tomcat 可以正常启动。
这个配置,无外乎就是 JDK 的配置,Tomcat 的配置。另外,每个人也有自己一些独特的强迫症,比如设置字体,添加、删除或者排版 View 面板等,这个根据自己的爱好,自己设置吧。如果想参考,可以看看《Eclipse开发工具基础配置》一文。
第五步,新建一个 WEB 工程。
第六步,导入 Struts 所需要的包,并添加 web.xml。
首先需要到官网下载 Struts 框架,下载地址为http://struts.apache.org/download.cgi#struts23241,我这里下载的版本是 struts-2.3.24.1,下载后解压到 F 盘下。
依次打开 F盘 -> struts-2.3.24.1 -> apps -> struts2-blank.war -> 解压 –> 进入struts2-blank -> WEB-INF。
把 web.xml 复制到项目的 WebContent/WEB-INF 下,把 lib 中的包复制到项目的 WebContent/WEB-INF/lib 下,如图。
修改 web.xml,修改后如下。
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <display-name>SSH Framework</display-name>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
- </web-app>
第七步,导入 Tomcat 包。
依次打开 F盘 -> apache-tomcat-8.0.30\lib,把所有包复制到 WebContent/WEB-INF/lib 下。
第八步,创建代码。
创建 jsp 页面,包,Action 类,并配置 struts.xml,项目结构如下图。
依次创建下列文件,代码如下。
login.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Login</title>
- </head>
- <body>
- <s:form action="login">
- <s:textfield name="user.username" label="用户名"></s:textfield>
- <s:password name="user.password" label="密 码"></s:password>
- <s:submit value="登陆"></s:submit>
- </s:form>
- </body>
- </html>
success.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>登陆成功</title>
- </head>
- <body>
- 恭喜你,登陆成功。
- </body>
- </html>
error.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>登陆失败</title>
- </head>
- <body>
- 很遗憾,登陆失败。。。
- </body>
- </html>
LoginAction.java
- package com.menglanglang.ssh.demo.action;
- import com.opensymphony.xwork2.ActionSupport;
- public class LoginAction extends ActionSupport {
- private static final long serialVersionUID = 1L;
- @Override
- public String execute() throws Exception {
- return SUCCESS;
- }
- }
UserDto.java
- package com.menglanglang.ssh.demo.dto;
- public class UserDto {
- private String username;
- private String password;
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
struts.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
- "http://struts.apache.org/dtds/struts-2.3.dtd">
- <struts>
- <!-- Add packages here -->
- <package name="default" extends="struts-default" namespace="/">
- <action name="login" class="com.menglanglang.ssh.demo.action.LoginAction">
- <result name="success">/success.jsp</result>
- <result name="error">/error.jsp</result>
- </action>
- </package>
- </struts>
第八步,测试。
发布项目,启动 Tomcat,访问登陆页面http://localhost:8080/SSH_Framework/login.jsp,如图。
点击“登陆”按钮,弹出成功页面,则说明 struts 配置成功,如图。
至于 Hibernate 和 Spring 的集成,后续再写。
管理员 孟郎郎 : 2016年09月09日17:36:58 地下1层
管理员 孟郎郎 : 2016年10月17日00:11:04 地下1层