实验二MyEclipse下工具生成Struts用户登录系统.docx
《实验二MyEclipse下工具生成Struts用户登录系统.docx》由会员分享,可在线阅读,更多相关《实验二MyEclipse下工具生成Struts用户登录系统.docx(17页珍藏版)》请在冰豆网上搜索。
实验二MyEclipse下工具生成Struts用户登录系统
实验二:
MyEclipse下工具生成Struts用户登录系统
必备工具:
MyEclipse10。
实验步骤:
第一步:
新建web项目strutsTool。
如图2-1所示:
图2-1新建web项目strutsTool
第二步:
实现项目strutsTool具备Struts框架功能。
右键单击项目strutsTool,选择“MyEclipse”“AddStrutsCapabilities…”(如图2-2),弹出“AddStrutsCapabilities”对话框(如图2-3)。
图2-2为项目添加Struts功能
图2-3“AddStrutsCapabilities”对话框
“AddStrutsCapabilities”对话框中,可以进行如下操作:
(1)设置struts配置文件的路径和名称;设置struts框架的使用版本;
(2)设置web.xml文件中配置ActionServlet的名称,选择访问ActionServlet时的url形式;(3)设置新建类的包结构。
这里
(1)、
(2)可以自行设置,但一般采用默认值,将(3)中“Basepackagefornewclasses:
”项的“mycompany”改为“tool”即可,单击“Finish”按钮。
项目strutsTool的结构就会出现如图2-4的变化。
图2-4加入Struts功能后的项目结构
第三步:
编写用户登录页面。
将项目strutstoo的WebRoot目录下的index.jsp页面代码编写如下:
index.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
用户登录页面
用户名:
密码:
第四步:
新建显示用户登录验证结果的页面。
在项目strutsTool的WebRoot目录下新建welcome.jsp和error.jsp页面。
代码如下:
welcome.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%@tagliburi="prefix="c"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
登录成功,显示欢迎信息welcome,outvalue="${name}">
out>
error.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
登录失败error!
第五步:
使用过滤器解决Struts中文乱码问题。
1、在项目strutsTool的src目录下新建包com.tool.struts.filter,然后在该包下新建类MessycodeFilter.java。
代码如下:
MessycodeFilter.java
packagecom.struts.filter;
importjava.io.IOException;
importjavax.servlet.*;
publicclassMessycodeFilterimplementsFilter{
publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,
FilterChainchain)throwsIOException,ServletException{
request.setCharacterEncoding("utf-8");
chain.doFilter(request,response);
}
publicvoidinit(FilterConfigfilterConfig)throwsServletException{}
publicvoiddestroy(){}
}
2、在web.xml文件中配置MessycodeFilter。
在项目strutsTool的WebRoot/WEB-INF/web.xml文件中添加如下代码:
web.xml
messycodeFilter
com.struts.filter.MessycodeFilter
messycodeFilter
/*
第六步:
配置ActionForm。
双击打开项目strutsTool中WebRoot/WEB-INF/目录下的Struts-config.xml文件,定位在“Design视图”上,如图2-5所示:
图2-5struts配置文件的图形化编辑界面
1、在Struts-config.xml文件的“Design视图”面板上单击右键,选择“New”“Form”(如图2-6),弹出“NewForm”对话框(如图2-7)。
图2-6新建ActionForm
图2-7配置ActionForm
2、在”NewForm“对话框中的“UseCase”后的文本框处输入”Login“,然后单击”FormProperties“选项卡中的”add“按钮,弹出”CreateProperty“对话框(如图2-8)。
在”Name“后面的文本框处输入”user“,单击”Add“按钮;接着会弹出”CreateProperty“对话框(如图2-9),再”Name“后面的文本框处输入”pwd“,单击”Add“按钮,在新弹出的对话框上单击”Close“按钮,返回到”NewForm“对话框,单击”Finish“按钮,配置完成。
图2-8为ActionForm添加属性user
图2-9为ActionForm添加属性pwd
第七步:
配置Action。
在Struts-config.xml文件的“Design视图”面板上单击右键,选择“New”“Action”(如图2-10),弹出“NewAction”对话框(如图2-11)。
图2-10新建Action
在图2-11中的“UseCase”后面的文本框处输入”Login“,然后单击”OptionalDetails“项下”Form“选项卡中的”Browse...“按钮,弹出选择对于ActionForm的对话框(如图2-12)。
选中列表中的”LoginForm“项,单击”OK“,返回”NewAction“对话框(如图2-11)。
图2-11配置Action
图2-12选择对应的ActionForm
“NewAction”对话框中,单击”OptionalDetails“项下的”Forwards“选项卡,再单击”Forwards“选项卡中的”Add“按钮(如图2-13),弹出“NewForward”对话框(如图2-14)。
图2-13配置Forward
在”Name“后面文本框输入”wel“,然后单击”Browse...”按钮,弹出ForwardPath对话框(如图2-15),在列表中选中”welcome.jsp“项,单击”OK“按钮,返回“NewForward”对话框(如图2-16)。
图2-14“NewForward”对话框
图2-15选择ForwardPath
”NewForward”对话框中,在”Name“后面文本框输入”err“,然后单击”Browse...”按钮,弹出ForwardPath对话框(如图2-17),在列表中选中”error.jsp“项,单击”OK“按钮,返回”NewForward“对话框,单击”Close“按钮,返回”NewAction“对话框,单击”Finish“按钮,配置完成。
图2-16“NewForward”对话框
图2-17选择ForwardPath
第八步:
编写业务处理代码。
打开src文件夹下com.tool.struts.action包中的LoginAction.java文件,将该类中execute()方法的更新为如下代码:
LoginFormf=(LoginForm)form;
if("123".equals(f.getPwd())){
request.setAttribute("name",f.getUser());
returnmapping.findForward("wel");
}else{
returnmapping.findForward("err");
}
第九步:
测试、运行。
1、右键单击项目strutsManual,选择“runas”“MyEclipseServerApplication”。
如图2-18所示:
图2-18运行web项目
2、MyEcplise会自动打开的内置浏览器,并显示index.jsp页面。
测试一:
在页面文本框“用户名”中输入“tom”,密码输入“123”,则登录验证成功,进入welcome.jsp页面,显示“welcome,tom”。
如图2-19、图2-20所示:
图2-19在登录页面输入英文测试案例
图2-20显示登录成功页面
测试二:
在页面文本框“用户名”中输入“张三”,密码输入“123”,则登录验证成功,进入welcome.jsp页面,显示“welcome,张三”。
如图2-21、图2-22所示:
图2-21在登录页面输入中文测试案例
图2-22显示登录成功页面
测试三:
如果输入的密码不是“123”,则登录失败,进入error.jsp页面。
如图2-23所示:
图2-23显示登录失败页面