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

Struts 2 自学之路: 1 准备工作及helloworld

阅读更多
内容简介:

本篇介绍如何在eclipse+myeclipse下搭建出使用struts2开发的环境

以及带领你创建一个小程序(标题的helloword是用来表示第一个小程序)



1 搭建开发和运行环境

java sdk(JDK) 1.5 以上

tomcat 5.5 以上

eclipse 3.2 以上

myeclipse 5.0 以上

struts2 的运行库(jar包)  在http://struts.apache.org/ 可以得到,

我的环境是 jdk 1.5, tomcat 5.5 , eclipse 3.2.1 , myeclipse 5.1GA

2 打开Eclipse选择新建项目,新建一个web project




选中Web Project 点下一步打开下面一个窗口



在Project Name 项键入 Struts2Study 点击完成

配置tomcat,按照图中提示进行





然后布置项目到tomcat,按图提示操作









最后回到上面点add按钮那里,这时点完成

加入struts2的库(jar包)到构建路径












打开web.xml,修改其为以下代码
web.xml 代码
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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>Struts 2.0 Hello World</display-name>
    <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>



在scr目录下新建struts.xml
一定要在src目录下创建,原因以后会提




在struts.xml中键入
struts.xml 代码
 
<?xml version="1.0" encoding="GBK"?> 
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 
</struts> 


接下来新建一个jsp为index.jsp



在jsp中编写一个标准的登录表单
index.jsp 代码
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>第一个Struts程序</title>
  </head>
  
  <body>
	<form action="Login.action" method="post">
    	<table align="center">
    	<caption><h3>用户登录</h3></caption>
    		<tr>
    			<td>用户名:<input type="text" name="username"/></td>
    		</tr>
    		<tr>
    			<td>密  码:<input type="text" name="password"/></td>
    		</tr>
    		<tr align="center">
    			<td colspan="2"><input type="submit" value="登录"/>
    			<input type="reset" value="重填"/></td>
    		</tr>
    	</table>
    </form>
  </body>
</html>


接下来我们再新建两个jsp,一个为error.jsp,一个为welcome.jsp
error.jsp内只需要失败的文本,welcome.jsp只需要成功的文本
welcome.jsp 代码
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>登录成功</title>
  </head>
  
  <body>
    你好啊亲爱滴,我等你很久了
  </body>
</html>

error.jsp 代码
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>登录失败</title>
  </head>
  
  <body>
    你是谁啊,我根本不认识你,再不离开我放狗了
  </body>
</html>


恩,重点来了,接下来就是编写struts2的action和配置struts.xml文件了
首先我们先建立一个java文件(新建->类)
如下图,包名yufei.hello,类名HelloAction

 


HelloAction.java 代码
 
package yufei.hello;

public class HelloAction
	{
	private String username;
	private String password;
	public String getPassword()
		{
		return password;
		}
	public void setPassword(String password)
		{
		this.password = password;
		}
	public String getUsername()
		{
		return username;
		}
	public void setUsername(String username)
		{
		this.username = username;
		}
	public String execute()
		{
		String strReturn = "error";
		if (username.equals("yufei"))
			strReturn = "success";
		return strReturn;
		}
	}


该类就是一个action,Struts 2.0的Action无须实现任何接口或继承任何类型

接下来修改struts.xml
struts.xml 代码
 
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
	"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<!-- 这里是添加的内容 -->
	<package name="yufei.hello" extends="struts-default">
		<action name="Login" class="yufei.hello.HelloAction">
			<result name="error">/error.jsp</result>
			<result name="success">/welcome.jsp</result>
		</action>
	</package>
</struts>


到目前为止,我们的第一个struts2的程序已经写完了,现在我们来启动tomcat来测试我们的程序了
图片中的端口是8888,而tomcat的默认端口是8080,如果你没有修改端口,请使用8080








在用户名中输入yufei以外的任何字符串或者不输入都会跳转到error.jsp

这是因为我在execute方法里判断用户名时是yufei,返回的是字符串"success",而在struts.xml里配置的是跳转到welcome.jsp

而此外的所有情况都是返回字符串"error",而在struts.xml里配置的是跳转到error.jsp
此篇文章项目文件在附件中


关于action以及struts.xml的详细说明在以后的文章中



PS:

写这么个简单得不能再简单的文章也居然用了我将近三个小时.....

而且这文章结构还是我都已经想好的情况下现在我对那些在网上写教程的人更加感激了


分享到:
评论
9 楼 来自海上的鱼 2012-09-17  
LZ辛苦了,很实用
8 楼 zwh910621 2010-04-19  
LZ真是个大好人,辛苦了,谢谢
7 楼 guoyankun 2008-08-29  
为什么我按照您的步骤做的,却报
警告: Could not find or error in struts.properties
java.lang.IllegalStateException: struts.properties missing
这个错误呢?
6 楼 guoyankun 2008-08-29  
为什么我按照您的步骤做的,却报
警告: Could not find or error in struts.properties
java.lang.IllegalStateException: struts.properties missing
这个错误呢?
5 楼 yufei 2007-10-26  
SSH2+oracle就是一个伪命题

hibernate才和数据库打交道,能用hibernate配置其它数据库,配置oracle只是改一点配置信息
4 楼 xurwj 2007-10-22  
很好啊,就缺这种边讲边有实例的这种文章,能不能把SSH2+oracle的例子写一个?
3 楼 everyman1978 2007-10-12  
真的好详细,谢谢。
2 楼 寒光2008 2007-09-23  
太感谢了。如果有机会,我一定也会把最新的东西与网友们分享!
1 楼 lijie250 2007-09-21  
呵呵比较详细!我也在学这个!

相关推荐

    struts自学笔记

    在本文中,我们将深入探讨Struts2的主要特点、与Struts1的对比,以及如何创建一个简单的Struts2 HelloWorld应用。 首先,让我们看看Struts2与Struts1之间的关键区别: 1. **Action实例管理**: - 在Struts1中,...

    struts2 实例

    2. **创建第一个Struts2应用**:通常会从创建一个简单的"Hello, World!"应用开始,展示如何创建Action类、配置struts.xml并编写对应的JSP页面。 3. **Action配置**:深入理解`&lt;action&gt;`标签的用法,如`name`属性...

    最全的struts2标签说明.rar

    此压缩包"最全的struts2标签说明.rar"包含了一份详细的Struts2标签说明,这对于理解和使用Struts2框架中的各种标签极其有用,特别是对于学习和教育目的。 在Struts2中,标签是视图层的核心组成部分,它们极大地简化...

    Spring3.0-MVC_简单自学教程(英文)

    2. 创建Spring 3.0 MVC的"Hello World"应用:通过一个简单的示例,帮助初学者理解如何搭建和运行Spring MVC项目。 3. Spring 3.0 MVC处理表单:讲解如何在Spring MVC中处理用户输入的表单数据。 4. Spring 3 MVC ...

    ext4教程,里面包含的是中文教程,目前没有全部的教程

    《ExtJS Web应用程序开发指南(第2版)》共18章和1个附录,是对第1版的全面升级,增补了大量ExtJS 4.0中的新特性。从基本的ExtJS功能开始讲解RIA Web开发,从而引出用户体验丰富的ExtJS技术。接着通过经典的“Hello ...

    Web应用开发指南(第二版)-源代码.rar )

    《extjs web应用程序开发指南(第2版)》共18章和1个附录,是对第1版的全面升级,增补了大量extjs 4.0中的新特性。从基本的extjs功能开始讲解ria web开发,从而引出用户体验丰富的extjs技术。接着通过经典的“hello ...

    webwork.doc

    3. **配置ClassPath**:将`webwork-2.x.jar`及所有依赖的`.jar`文件(位于lib\core目录下)复制到Tomcat的WEB-INF\lib目录,以便Web容器能识别WebWork及其依赖。 4. **Servlet控制器**:Web框架通常通过Servlet控制...

    javaweb基础 ppt和案例

    - **第一个Servlet和JSP程序**:编写Hello, World!程序,理解基本流程。 - **MVC模式**:Model-View-Controller架构,如何在JavaWeb中实现。 - **表单处理**:POST和GET请求,以及处理用户输入。 - **异常处理**...

Global site tag (gtag.js) - Google Analytics