Eclipse中SSH项目搭建图文教程(一)—— 整合Struts
2016年01月04日 07:21:48 Struts ⁄ 共 5072字 评论数 4 ⁄ 被围观 7,496次

很多初学 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,修改后如下。

Code   ViewPrint
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  5.     <display-name>SSH Framework</display-name>
  6.     <filter>
  7.         <filter-name>struts2</filter-name>
  8.         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  9.     </filter>
  10.     <filter-mapping>
  11.         <filter-name>struts2</filter-name>
  12.         <url-pattern>/*</url-pattern>
  13.     </filter-mapping>
  14.     <welcome-file-list>
  15.         <welcome-file>index.html</welcome-file>
  16.     </welcome-file-list>
  17. </web-app>

第七步,导入 Tomcat 包。

依次打开 F盘 -> apache-tomcat-8.0.30\lib,把所有包复制到 WebContent/WEB-INF/lib 下。

第八步,创建代码。

创建 jsp 页面,包,Action 类,并配置 struts.xml,项目结构如下图。

依次创建下列文件,代码如下。

login.jsp

Code   ViewPrint
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="s" uri="/struts-tags"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Login</title>
  9. </head>
  10. <body>
  11.     <s:form action="login">
  12.         <s:textfield name="user.username" label="用户名"></s:textfield>
  13.         <s:password name="user.password" label="密 码"></s:password>
  14.         <s:submit value="登陆"></s:submit>
  15.     </s:form>
  16. </body>
  17. </html>

success.jsp

Code   ViewPrint
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>登陆成功</title>
  8. </head>
  9. <body>
  10.     恭喜你,登陆成功。
  11. </body>
  12. </html>

error.jsp

Code   ViewPrint
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>登陆失败</title>
  8. </head>
  9. <body>
  10.     很遗憾,登陆失败。。。
  11. </body>
  12. </html>

LoginAction.java

Code   ViewPrint
  1. package com.menglanglang.ssh.demo.action;
  2. import com.opensymphony.xwork2.ActionSupport;
  3. public class LoginAction extends ActionSupport {
  4.     private static final long serialVersionUID = 1L;
  5.     @Override
  6.     public String execute() throws Exception {
  7.         return SUCCESS;
  8.     }
  9. }

UserDto.java

Code   ViewPrint
  1. package com.menglanglang.ssh.demo.dto;
  2. public class UserDto {
  3.     private String username;
  4.     private String password;
  5.     public String getUsername() {
  6.         return username;
  7.     }
  8.     public void setUsername(String username) {
  9.         this.username = username;
  10.     }
  11.     public String getPassword() {
  12.         return password;
  13.     }
  14.     public void setPassword(String password) {
  15.         this.password = password;
  16.     }
  17. }

struts.xml

Code   ViewPrint
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
  4.     "http://struts.apache.org/dtds/struts-2.3.dtd">
  5. <struts>
  6.     <!-- Add packages here -->
  7.     <package name="default" extends="struts-default" namespace="/">
  8.         <action name="login" class="com.menglanglang.ssh.demo.action.LoginAction">
  9.             <result name="success">/success.jsp</result>
  10.             <result name="error">/error.jsp</result>
  11.         </action>
  12.     </package>
  13. </struts>

第八步,测试。

发布项目,启动 Tomcat,访问登陆页面http://localhost:8080/SSH_Framework/login.jsp,如图。

点击“登陆”按钮,弹出成功页面,则说明 struts 配置成功,如图。

至于 Hibernate 和 Spring 的集成,后续再写。

目前有 4 条留言 其中:访客:0 条, 博主:0 条

  1. Avatar photo 醉春 : 2016年01月05日09:21:48  -9楼 @回复 回复
    好东西啊,谢谢博主啊!!
  2. Avatar photo 剩余的站台 : 2016年09月07日17:15:10  -8楼 @回复 回复
    怎么没后续了。。。非常期待啊

给我留言

留言无头像?