`
yufei
  • 浏览: 93570 次
  • 性别: 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  
呵呵比较详细!我也在学这个!

相关推荐

Global site tag (gtag.js) - Google Analytics