开发环境:jdk 1.6.0+ Apache Tomcat 5.5.20 + MyEclipse 5.5.1 GA
1、Package Explore中右键File→New→Web Project→Project Name: StrutsLoginDemo,
点击finish.
2、右击Package Explore中的StrutsLoginDemo项目→MyEclipse→Add Struts Capabilities,默认选择Struts 1.1.0,点击Finish。工程中自动添加支持Struts的.jar库。
3、展开Package Explore中的StrutsLoginDemo项目→WebRoot/WEB_INF/web.xml→Source,在</web-app>上边添加以下代码:
<jsp-config>
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</jsp-config>
4、打开WebRoot/WEB_INF/struts-config.xml,这有两个视图模式,一个是Design视图设计模式,另一种就是Source代码模式。选择Design视图模式,单击左侧小菜单中的“JSP - Add JSP page”,再单击右侧空白处,弹出的对话框中File Name中输入“userLoginSuccess.jsp”,其他不变,点击Finish。
打开WebRoot下新建的那个userLoginSuccess.jsp或直接双击struts-config.xml Design中的userLoginSuccess.jsp打开JSP代码编辑器。
在开头两对<% %>后面添加以下代码(也就是我们在web.xml中设置的taglib)
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
将body中的内容换成下边的代码:
Hello <bean:write name="userName" scope="request"/>
5、右击struts-config.xml中Design视图右侧空白处→New→Form, Action And JSP。
<1>在弹出的对话框中Use case中输入“userLogin”,在Optional Details下的Form Properties中,点击Add,分别添加userName,java.lang.String,text和password,java.lang.String,password。这里实际上是添加属性向导,对应userLogin.jsp body中的以下代码:
<html:form action="/userLogin">
userName : <html:text property="userName"/><html:errors property="userName"/><br/>
password : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit/><html:cancel/>
</html:form>
<2>Methods中取消所有打勾的项目,
<3>JSP中勾选“Create JSP form?”并将New JSP Path中默认生成的“/form/userLogin.jsp”改为“/userLogin.jsp”,默认的会自动生成一个from文件夹并将userLogin.jsp放在里边,我们想让userLogin.jsp和userLoginSuccess.jsp处在同一个文件夹下,所以需要修改一下Path。点击Next.
这时项目中多了登录JSP页面及其相应窗体Form的事件处理Action。
Form: src/com.yourcompany.struts.form/UserLoginForm.java
Action:src/com.yourcompany.struts.action/UserLoginAction.java
JSP: WebRoot/ userLogin.jsp
<4>在Optional Details下的Forward选项卡中点击Add,添加success,/userLoginSuccess.jsp,至此完成了登录界面和欢迎界面的创建及逻辑关联,点击Finish。再右击struts-config.xml中Design视图右侧空白处→New→Forward,在弹出的Forward Declaration对话框的FowardScope中选择Local Action Forward 。Browse ActionPath为/userLogin,name为failure,Browse path为/userLogin.jsp。
6、双击struts-config.xml中Design视图右侧userLogin模块,进入到UserLoginAction.java中。将return null;替换为以下代码:
//登录认证
if (userLoginForm.getUserName().equals("fan") && userLoginForm.getPassword().equals("20080808"))//用户密码正确登录成功
{
request.setAttribute("userName", userLoginForm.getUserName());
return mapping.findForward("success");//
}
else//用户密码不正确登录失败
{
return mapping.findForward("failure");//
}
代码编写的工作就基本完成了,以下为项目结构和Struts视图。
7、接下来是将Web Project部署到Tomcat中,可参见Java Doorstep之 MyEclipse(2)。部署完成后在地址栏里输入http://localhost:8080/StrutsLoginDemo/将进入默认的index.jsp。我们可以修改web.xml中welcome-file-list,将其中的<welcome-file>指定为登录主页 userLogin.jsp(可将自动创建的index.jsp删除)当然我们也可以直接输入主页:http://localhost:8080/StrutsLoginDemo/userLogin.jsp
主页将出现一个输入userName和password的表单,分别输入fan和20080808,点submit按钮后页面就会显示“Hello fan”了,说明我们成功了!
参考文章:
http://www.cafemood.net/ljc/article.asp?id=8 (ItFarmer’s Blog)
评论