软件配置:Eclipse 3.1.1 +EclipseHTMLEditor2.0.0+StrutsIDE2.0.0+Lomboz+Tomcat5.0.30
1,新建Tomcat Project,项目名为:MyStruts,其他缺省.
2,在项目MyStruts右击,在”新建”对话框中,选择”Amaters->Struts->Add Struts Support”,(注:不同的插件版本配置,位置有点差异,以下所有相关Strtus新建都在于此.关于插件配置请详见文档: http://blog.youkuaiyun.com/blue_fire2008/archive/2008/05/04/2374907.aspx),如图1-1
单击下一步,在Plug-in Configuration对话框,选项Use Validator Plugin和选项Use Tiles Plug-In勾去掉,单击完成,系统自动会在项目lib文件夹下添加相关类库. ,如图1-2所示
3,选择新建对话框Struts JSP File,新建名为:strutsTest.jsp文件,并设容器文件夹为/MyStruts,打开strutsTest.jsp,将<body></body>之间代码修改为:
<form name="form1" method="POST" action="/MyStruts/logincheck.do">
<table width="300" border="0"
cellspacing="0" cellpadding="0">
<tr align="center">
<td colspan="2">用户登录信息</td>
</tr>
<tr>
<td>用户名</td>
<td><input name="username" type="text" id="username" size="12"></td>
</tr>
<tr>
<td>用户密码</td>
<td><input name="password" type="password" id="password" size="12"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="提交"></td>
</tr>
</table>
</form>
4,新建Struts ActionForms,名为LoginUser,如图1-3
5,打开LoginUser,在类中定义两个私有成员变量:
private String username=””;
private String password=””;
通过”源代码”菜单下的”生成getters和setters”对两私有变量生成get和set代码
6,新建Struts Action,命名为Login,如图1-4所示
Login.java整代码如下:
package mystruts;
import org.apache.struts.action.*;
import javax.servlet.http.*;
public class Login extends Action {
private static final long serialVersionUID = 1L ;
public ActionForward execute
(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
System.out.println("+++++++++++++++++++++");
String encoding = request.getCharacterEncoding();
if ((encoding != null) &&(encoding.equalsIgnoreCase("GB2312")))
{
response.setContentType("text/html; charset=GB2312");
} else {
response.setContentType ("text/html; charset=GBK"); }
try { if (form instanceof LoginUser)
{
LoginUser theForm = (LoginUser) form;
if(theForm.getUsername().equals("user") && theForm.getPassword().equals("123456"))
{ return new ActionForward("/welcome.do?type=true"); }
else {
return new ActionForward("/welcome.do?type=false");
}
}
}
catch (Exception e) { }
// this shouldn't happen in this example
return null;
}
}
7,新建Struts Jsp File,命名为:welcom.jsp,将<body></body>之间代码改为:
<body>
<%
String type = request.getParameter("type");
if(type!=null&&type.equals("true")){
out.print("欢迎您的光临!");
}
else{
out.print("对不起,你输入的用户名或者密码错误!");
}
%>
</body>
8,右击Struts-config.xml文件,打开方式选择”struts-config.xml Editor”,在设计区放置3个action,2个Page,2个Direct Forward.如图1-5
设置page1和page2的path属性值分别为:/strutsTest.jsp,/welcome.jsp,action1,action2的path属性值分别为:/index,/welcome, ,action3具体设置如图1-6
9,在Struts-config.xml处于编辑状态下,在大纲视图,右击form-beans结点,添加一form-bean,将form-bean的name(*)属性设置为: LoginUser,type(*)属性设置为:mystruts.LoginUser
10,从工具栏启动Tomcat,在IE浏览器地址输入: http://localhost:8080/MyStruts/strutsTest.jsp,见图1-7
若用户名为:user 密码为:123456,则显示:欢迎您光临
否则显示: 对不起,你输入的用户名或者密码错误!
如下图1-8图1-9所示
10,小结
1)整个过程validation.xml始终显示有两处错误,并提示ActionForm logonForm does not exist.,这是验证方面配置文件,可以置之不理.
2)最后调试时,若出现Attribute name invaild for tag form according to TLD异常,则将相关jsp文件<html:form></html:form>修改为<form></form>.
3)本文在Eclipse3.2.1环境下开发一样.
申明:本文是原创,转载请注明出处!