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

[img]http://yufei.iteye.com/upload/picture/pic/5237/7a7b1995-3e13-431a-a04a-29f1209aed34.jpg[/img]


选中Web Project 点下一步打开下面一个窗口
[img]http://yufei.iteye.com/upload/picture/pic/5238/a3c727c0-46c0-4a80-9dec-cfc0dabc9168.jpg[/img]


在Project Name 项键入 Struts2Study 点击完成

配置tomcat,按照图中提示进行
[img]http://yufei.iteye.com/upload/picture/pic/5241/0bddfa1f-b824-4ecb-8349-d29dbb9eb792.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5242/1a717247-a2e9-49d3-9cec-17263e9c6026.jpg[/img]


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

[img]http://yufei.iteye.com/upload/picture/pic/5239/4685b692-fa0a-442c-93cf-80ff4dcac4aa.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5243/e266c7ee-2758-4faf-88e8-04df0fed69d4.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5244/c5dbd3cc-341f-4388-9d4f-99299db0f041.jpg[/img]



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

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

[img]http://yufei.iteye.com/upload/picture/pic/5249/e93ad1b4-518f-4f87-b693-a45f22ec8b68.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5245/fd084d61-a2b7-42fc-82e5-a0d941f56091.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5246/6aeb08e7-b6d4-461d-8103-ba27c0847b39.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5247/87bc806c-3e60-45ed-b847-fb200ac34903.jpg[/img]




打开web.xml,修改其为以下代码
web.xml 代码[code]
<?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>
[/code]


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

[img]http://yufei.iteye.com/upload/picture/pic/5251/17df285f-1116-4470-8a2e-6915a1dc7d69.jpg[/img]


在struts.xml中键入
struts.xml 代码[code]
<?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>
[/code]

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

[img]http://yufei.iteye.com/upload/picture/pic/5252/bc854aa8-079e-468c-a9a0-85832e3990ea.jpg[/img]

在jsp中编写一个标准的登录表单
index.jsp 代码
[code]
<%@ 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>
[/code]

接下来我们再新建两个jsp,一个为error.jsp,一个为welcome.jsp
error.jsp内只需要失败的文本,welcome.jsp只需要成功的文本
welcome.jsp 代码
[code]
<%@ 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>
[/code]
error.jsp 代码
[code]
<%@ 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>
[/code]

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

[img]http://yufei.iteye.com/upload/picture/pic/5253/034293d4-3f89-4af3-9b6e-fba62bd4774a.jpg[/img]


HelloAction.java 代码
[code]
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;
}
}
[/code]

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

接下来修改struts.xml
struts.xml 代码
[code]
<?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>
[/code]

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

[img]http://yufei.iteye.com/upload/picture/pic/5254/4045ebdb-248f-46fb-a969-4efac3acd191.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5255/5d70e6c0-40e2-4a6f-83f7-50a6a16d14ca.jpg[/img]

[img]http://yufei.iteye.com/upload/picture/pic/5256/32b73c42-922b-42d2-a1e2-2a846d8bdaa0.jpg[/img]


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

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

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


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



PS:

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

而且这文章结构还是我都已经想好的情况下现在我对那些在网上写教程的人更加感激了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值