`
frand_feng
  • 浏览: 19792 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

struts架构搭建(一)

 
阅读更多

    一直想学习server端的开发,但是没有时间,最近终于有空闲下来学习一些基本的入门知识,听论坛里边都说struts架构在java web中特别流行,就搜了一个iteye,发现有一篇文章,操作和入门知识介绍比较详细,就照着他的步骤一步一步操作下来,觉得获益匪浅,在此展示原文出处http://dianziermu.iteye.com/blog/296650,感谢点子二木大侠的勤劳总结,为我java web struts框架的学习打下基础。

    首先,开发需要IDE,很多人建议MyEclipse,因为其中有可视化工具,可以把Struts、Spring、Hibernate等框架可视化的加入到项目中。鱼和熊掌不可兼得,毕竟MyEclipse的功能强大是建立在收费的基础上的,因此我选择直接利用eclipse。eclipse有很多版本,如:for JEE,for Java,for RCP,for C++等,我当然选择for JEE的版本,即:Eclipse IDE for Java EE Developers

     下载成功后,需要安装JDK,(当然也有不需要安装JDK的版本),然后就可以打开Eclipse开始新建项目。File-》New-》Project,自然是选择Dynamic Web Project,然后项目名称根据自己的情况,我建立的项目名称为dianziStruts2Base,目的是同原作保持一致,以免发生错误,却不知道在哪里修改,然后点击Finish完成。

    下面需要把项目部署到Tomcat服务器中,我使用的是tomcat6.0版。在java透视中,下方有一个Servers标签,在其中,new一个Servers,然后右击此project,在选项卡中选择run as -》Run on Server,然后eclipse会让选择tomcat server,选择刚才创建的tomcat 6.0,点击finish,此网站工程便可运行在tomcat 服务器上。现在需要将Struts2框架(struts2架构我们会在后边详细学习)加入到项目中,下载完Struts2的框架包后,在lib文件夹里我们只需找出

 

  • xwork-core-2.3.14.jar
  • struts2-core-2.3.14.jar
  • ognl-3.0.6.jar
  • freemarker-2.3.19.jar
  • javassist-3.15.0-ga.jar 
  • commons-io-2.0.1.jar 
  • commons-fileupload-1.2.2.jar
  • commons-lang3-3.1.jar  

    这七个jar包(jar包的版本有可能与我的不一致,没关系)加载到项目即可,Struts2框架lib文件夹下其他jar包可根据项目需要,另行加入。加入这4个jar包的方法是,在项目中找到dianziStruts2Base-》WebContent-》WEB-INF-》lib,然后复制这四个jar包,再粘贴到项目下的lib中,此时可以看到dianziStruts2Base-》Libararies-》Web App Libraries中新增了这四个jar包,框架导入成功。

    接下来,开始编写第一个jsp页面。在WebContent下新建一个default.jsp页面,此页面暂时不可修改为其他名称,待以后懂得如何在web.xml中配置首页面后,可以改为其他名称。其中需要注意一下<form action="login.action"method="post">,具体含义后面会讲解。default.jsp页面内容如下:

 

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<!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=GBK">
<title>首页</title>
</head>
<body>
<form action="login.action" method="post">
<table align="center">
	<caption>用户登录</caption>
	<tr>
		<td>用户名:<input type="text" name="username" /></td>
	</tr>
	<tr>
		<td>密&nbsp;&nbsp;码:<input type="password" name="password" /></td>
	</tr>
	<tr>
		<td><input type="submit" value="登录" /></td>
	</tr>
</table>

</form>
</body>
</html>

     下面开始建立分发控制器,即Action。在src文件夹下建立com.dianziaction.login.LoginAction类,此类可以要实现Action接口,才能使用Action接口中内置的SUCCESS等属性。

/**
 * 
 */
package com.dianzi.actionlogin;

import com.opensymphony.xwork2.Action;

/**
 * 
 * @author frand
 * @date 2013-05-10
 * @version 1.0
 */
public class LoginAction implements Action {
	private String username;//用户名
	private String password;//密码
	private String result;//返回结果

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.opensymphony.xwork2.Action#execute()
	 */
	public String execute() throws Exception {

		return null;
	}

	/**
	 * 登录
	 * 
	 * @return
	 */
	public String login() {
		if (username.equals(password)) {
			return SUCCESS;

		} else {
			return ERROR;
		}
	}

	/**
	 * 登出
	 * 
	 * @return
	 */
	public String logout() {
		result = "请重新登录!";
		return SUCCESS;
	}

	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;
	}

	public String getResult() {
		return result;
	}

	public void setResult(String result) {
		this.result = result;
	}

}

     其中,属性username、password,是首页default.jsp中的属性,两者必须对应一致。里面的get、set方法不可少。当首页表单提交后,即点击登录按钮后,触发action="login.action",Struts2框架将会在Struts2的配置文件中找名称为login的Action,下面我们需要新建这个配置文件,即struts.xml。新建的位置必须是根目录下,即src下,且文件名不可改。内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configeration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<!-- 登录配置文件 -->
	<include file="struts-login.xml" />
</struts>

     原本可以直接在struts.xml中配置Action对应路径,但为了防止系统扩大,我们可以将配置路径写到其他xml文件中,然后在struts.xml中引用这个文件,这样我们可以把相关模块的配置文件写到一个配置文件中,例如我新建了一个struts-login.xml,位置必须和struts.xml在一个目录下,但名称可以任意。下面是struts-login.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configeration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="login" extends="struts-default">
		<action name="login"
			class="com.dianzi.action.login.LoginAction" method="login">
			<result name="success">/jsp/welcome.jsp</result>
			<result name="error">/jsp/error.jsp</result>
		</action>
		<action name="logout"
			class="com.dianzi.action.login.LoginAction" method="logout">
			<result name="success">/jsp/login.jsp</result>
			<result name="error">/jsp/error.jsp</result>
		</action>
	</package>
</struts>
我们可以看到,<action name="login"
class="com.dianzi.login.action.LoginAction" method="login">
一句,是将name="login"的Action配置给了LoginAction的login方法。如果不写参数 method="login",则将该login配置给LoginAction的execute方法。其中name="login"的login就是页面中所引用的action="login.action"的login,两者必须一致,但name的值可以为任意,只要两者一致即可。
    另外还有一句,<result name="success">/jsp/welcome.jsp</result>是指当LoginAction的login方法return的字符与result标签中哪个name值匹配,则响应完login.action后所跳转到的新页面。login方法中只有return SUCCESS;或者return ERROR;其实SUCCESS在Action接口中就定义成了“succes”,而ERROR定义成了“error”。
    最后,我们需要将WEB-INF下的web.xml中加入过滤器。

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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>dianziStruts2Base</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

     这样,我们简单登录及跳转页面就做好了。

分享到:
评论

相关推荐

    Struts2+hibernate3.2+Spring2.0架构搭建

    ### Struts2+Hibernate3.2+Spring2.0架构搭建详解 #### 一、环境搭建与配置 在本教程中,我们将详细讲解如何搭建基于Struts2+Hibernate3.2+Spring2.0的软件架构。这个组合常被称为SSH(Struts-Spring-Hibernate)...

    struts 简单框架搭建

    以上就是一个基础的Struts2框架搭建过程。虽然这里没有涉及Spring框架,但在实际项目中,通常会结合Spring进行更复杂的业务逻辑处理和依赖注入,以提高应用的可维护性和扩展性。Struts2与Spring的整合可以简化对象的...

    Struts2.5.2搭建环境完整代码

    Struts2.5.2是Apache Struts框架的一个版本,它是Java EE平台上用于构建MVC(Model-View-Controller)架构的应用程序的开源框架。这个版本的发布旨在提供改进的性能、新的特性和修复已知的安全漏洞。Struts2允许...

    struts和xml搭建的一个项目架构

    总结起来,"struts和xml搭建的一个项目架构"意味着利用Struts框架的MVC设计模式,借助XML配置文件来组织和控制应用程序的各个部分,包括请求处理、视图展示和业务逻辑。这样的架构有助于提升开发效率,降低维护成本...

    struts2环境搭建

    Struts2是一个强大的Java web应用程序框架,用于构建和部署MVC(模型-视图-控制器)架构的应用程序。它的出现是为了解决Struts1框架的一些局限性,并提供了更灵活、可扩展的解决方案。在本教程中,我们将详细介绍...

    struts2.0环境搭建

    Struts2是由Apache软件基金会开发的一个开源Web应用框架,是Struts框架的升级版本,它结合了Struts1、WebWork等框架的优点,提供了一个更加灵活、强大的MVC架构。Struts2支持多种开发模式,包括传统的Web开发、AJAX...

    hibernate4+spring3+struts2搭建框架实例

    这个“hibernate4+spring3+struts2搭建框架实例”旨在为初学者提供一个快速上手的环境,通过实体类与数据库交互,实现数据持久化。 Struts2是MVC(Model-View-Controller)架构模式的一个实现,主要用于控制应用...

    Struts架构下国际化的一种解决方案.pdf

    ### Struts架构下国际化的一种解决方案 #### 概述 随着全球化的不断推进,软件系统越来越多地需要支持多种语言和地域特性。在Java Web开发领域,尤其是使用Struts框架的应用程序中,实现国际化...

    简单struts+spring+hibernate搭建,配置

    简单struts+spring+hibernate搭建,配置,适合初学者

    SSH架构搭建,SSH架构,

    SSH架构,全称为Struts+Spring+Hibernate,是Java Web开发中的一个经典组合,用于构建高效、可扩展的web应用程序。SSH架构通过整合Struts的MVC设计模式、Spring的依赖注入(DI)和面向切面编程(AOP),以及...

    struts2搭建详解

    在本教程中,我们将深入探讨如何搭建一个基本的Struts2项目,以及它与Struts1.x的主要区别。 首先,要搭建Struts2项目,我们需要准备一些必要的库文件。这些库文件包括:struts2-core、xwork、commons-logging、...

    基于struts架构的办公自动化系统--学位论文.doc

    本文描述了一个办公自动化系统的开发过程,依据面向对象设计的开发思想,利用MVC 设计模式,选用浏览器/服务器(B/S)模式搭建,使用 Hibernate 技术操作数据库,并用 Struts 完成了系统的最终实现。根据办公自动化...

    实验二 基于struts框架搭建网站架构

    1. 采用Struts框架设计图书管理系统的用户登录验证和用户注册功能。页面中用户名和密码正确转到success.jsp页面,有误转到error.... 2. 实现Struts2的三种传值方式,在登录页面中将页面的用户属性信息传递到Action中。

    用eclipse搭建SSH架构(struts + spring + hibernate)

    Eclipse 搭建 SSH 架构(Struts + Spring + Hibernate) Eclipse 是一个功能强大且功能丰富的集成开发环境(IDE), SSH 架构(Struts + Spring + Hibernate)是 Java Web 开发中常用的架构模式。下面将详细介绍...

    spring+struts+ibatis框架搭建

    "Spring+Struts+Ibatis"框架组合就是一种经典的Java Web开发架构,它将控制层、业务逻辑层和数据访问层有效地分离开来,使得项目结构清晰,易于维护。下面将详细解释这三个框架的主要功能和它们如何协同工作。 首先...

    Struts框架搭建和基本使用

    总结起来,Struts框架提供了强大的功能,包括MVC架构、输入验证、视图渲染和国际化支持。通过合理的配置和使用,能够构建出高效、可维护的Java Web应用。实践过程中,确保理解每个组件的作用,灵活运用,将有助于...

    struts2搭建顺序.pdf

    下面,我们将详细介绍如何使用Tomcat、Struts2、JSP和MySQL搭建一个Web应用程序的过程,同时也会解释每个步骤所涉及的关键知识点。 首先,需要理解每个组件的作用: - Tomcat是一个开源的Web服务器和Servlet容器,...

    java的struts架构连接数据库入门手册

    Java的Struts框架连接数据库入门手册,主要介绍了使用MyEclipse这个集成开发环境(IDE)来连接数据库,并创建基于Struts架构的Web项目的过程。 Struts框架的核心在于将用户请求的动作分解为模型(Model)、视图...

    struts1框架环境搭建视频(登录小例子)

    Struts1是一个经典的Java Web开发框架,由Apache软件基金会维护,它主要负责处理MVC(Model-View-Controller)架构中的Controller部分。本教程通过一个简单的登录实例,将引导你了解如何搭建Struts1框架环境并进行...

Global site tag (gtag.js) - Google Analytics