实验3Web开发.docx
《实验3Web开发.docx》由会员分享,可在线阅读,更多相关《实验3Web开发.docx(14页珍藏版)》请在冰豆网上搜索。
实验3Web开发
实验3.在Eclipse中开发Web应用
实验内容
在这个实验中,将学习在Eclipse+MyEclipse6集成开发环境下创建Web应用,创建JSP、JavaBean、Servlet,并测试。
实验目的
◆掌握Eclipse中Web应用的开发以及在WebLogic中的部署和访问。
◆掌握JSP、JavaBean和Servlet的开发。
实验介绍
本实验将实现一个简单的登录功能,用户在登录界面输入用户名和口令。
用户名和口令需要进行客户端验证。
如果输入的用户名和口令合法,会出现成功页面。
如果用户名或口令不合法,则出现登录失败页面。
由于登录功能是通过MVC模式进行设计的,因此,在实现的时候也是采用分层实现的方式。
在这个实验中,将首先建立一个Web应用,名字是myweb;然后进行视图层的实现,涉及3个JSP页面:
login.jsp,failure.jsp,success.jsp;接着进行模型层的实现,涉及1个JavaBean:
beans.LoginBean;再接着是控制层的实现涉及1个Servlet:
servlets.LoginServlet;最后对整个Web应用进行测试。
环境要求
服务器:
WebLogic10
集成开发环境:
Eclipse+MyEclipse6
实验指导
步骤1:
创建Web应用myweb
1.创建Web工程
a)在主菜单中选择【File】【New】【WebProject】,出现NewWebProject对话框。
如果没有【WebProject】则选择【File】【New】【Other】,在弹出的菜单中再选择【WebProject】。
b)在NewWebProject对话框的【ProjectName】文本框中输入myweb;J2EESpecificationLevel项选择“JavaEE5.0”,点击【Finish】按钮。
c)观察【package】视图中出现如下内容,表示Web应用myweb创建成功。
d)注意Web应用的文档结构(WebRoot下的内容),其中classes文件夹需要将视图转换为Resource视图才能看到。
e)注意web.xml配置文件中的内容。
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
index.jsp
2.部署Web应用
a)在工具栏点击
部署按钮,出现ProjectDeployments对话框。
b)在ProjectDeployments对话框的【Project】下拉列表框中选择“myweb”。
点击【Add】按钮,出现NewDeployment对话框。
c)在NewDeployment对话框中,【Server】下拉列表框选择WebLogic10.x,点击【Finish】,回到ProjectDeployments对话框。
点击【OK】即可。
d)在ProjectDeployments对话框中,【Remove】表示删除已经部署的工程;【Redeploy】表示重新部署;点击【Browse】则可以浏览已经部署的应用。
如本实验中,部署的Web应用位于“C:
\bea\user_projects\domains\base_domain\autodeploy\myweb”。
3.访问测试Web应用
a)如果Weblogic服务器没有启动,则先启动服务器。
在工具栏点击
的箭头按钮,选择【Weblogic10.x】【Start】。
b)打开浏览器。
这里可以使用MyEclipse内置的浏览器。
点击工具栏中的
按钮,出现【MyEclipseWebBrowser】,在地址栏输入http:
//localhost:
7001/myweb/index.jsp或http:
//localhost:
7001/myweb,出现如下运行结果,表示Web应用访问成功。
注意:
index.jsp在web.xml中已经配置为默认访问文件,因此在访问地址中可以省略。
步骤2:
创建JSP页面
1.在Web应用的根路径下创建login.jsp。
a)在主菜单中选择【New】【JSP(AdvancedTemplates)】或者右键点击工程上的【WebRoot】并在弹出菜单中选择【New】【JSP(AdvancedTemplates)】,都会弹出CreateanewJSPPage对话框。
在FilePath中输入或确认/myweb/WebRoot,在FileName中输入login.jsp,点击【Finish】。
b)注意:
如果没有【JSP(AdvancedTemplates)】则选择【New】【Other】,在弹出的菜单中再选择【MyEclipse】【Web】【JSP】。
2.编写login.jsp的代码,如下:
<%@pagecontentType="text/html;charset=gb2312"%>
functionisValidate(form)
{
//得到用户输入的信息
username=form.username.value;
userpass=form.userpass.value;
//判断用户名长度
if(!
minLength(username,6))
{
alert("用户名长度小于6位!
");
form.username.focus();
returnfalse;
}
if(!
maxLength(username,8))
{
alert("用户名长度大于8位!
");
form.username.focus();
returnfalse;
}
//判断口令长度
if(!
minLength(userpass,6))
{
alert("口令长度小于6位!
");
form.userpass.focus();
returnfalse;
}
if(!
maxLength(userpass,8))
{
alert("口令长度大于8位!
");
form.userpass.focus();
returnfalse;
}
returntrue;
}
//验证是否满足最小长度
functionminLength(str,length)
{
if(str.length>=length)
returntrue;
else
returnfalse;
}
//判断是否满足最大长度
functionmaxLength(str,length)
{
if(str.length<=length)
returntrue;
else
returnfalse;
}
用户登陆用户登录
用户名:
口令:
3.访问测试login.jsp。
a)如果WeblogicServer没有启动,则启动WeblogicServer。
b)打开浏览器,输入地址http:
//localhost:
7001/myweb/login.jsp。
c)出现登录界面,并且客户端验证正确,并且提交后地址栏的地址为“http:
//localhost:
7001/myweb/login”则表示测试成功。
4.同样方法在Web应用的根路径下创建success.jsp。
5.编写success.jsp的代码,如下:
<%@pagecontentType="text/html;charset=gb2312"%>
登录成功${sessionScope.userid}您好,欢迎登录网上书店!
6.同样方法访问测试success.jsp。
a)如果WeblogicServer没有启动,则启动WeblogicServer。
b)打开浏览器,输入地址http:
//localhost:
7001/myweb/success.jsp。
c)出现“您好,欢迎登录网上书店!
”表示测试成功。
7.同样方法在Web应用的根路径下创建failure.jsp。
8.编写failure.jsp的代码,如下:
<%@pagecontentType="text/html;charset=gb2312"%>
登录失败用户名或者口令不正确,请重新登录!
9.同样方法访问测试failure.jsp,出现“用户名或者口令不正确,请重新登录!
”表示测试成功。
步骤3:
创建JavaBean
1.创建包
在工程上的【src】点击右键,在弹出菜单中选择【New】【package】,在Names文本框中输入beans,点击【Finish】。
2.创建Java类
a)在工程上的【src】【beans】点击右键,在弹出菜单中选择【New】【class】,在Names文本框中输入LoginBean,并选中“publicstaticvoidmain(String[]args)”点击【Finish】。
b)编写LoginBean的validate方法,如下:
publicbooleanvalidate(Stringusername,Stringuserpass){
if(username==null||userpass==null)
returnfalse;
returnusername.equals(userpass);
}
c)在LoginBean的main方法中编写代码测试。
publicstaticvoidmain(String[]args){
LoginBeantest=newLoginBean();
System.out.println("正确的用户名口令,返回"+test.validate("zhangsan","zhangsan"));
System.out.println("错误的用户名口令,返回"+test.validate("zhangsan","123456"));
}
右键点击工程中的LoginBean,弹出菜单选择【Runas】【JavaApplication】,运行Java程序,在控制台出现如下结果,表示测试成功。
正确的用户名口令,返回true
错误的用户名口令,返回false
步骤4:
创建Servlet
1.创建包
a)在工程上的【src】点击右键,在弹出菜单中选择【New】【package】,在Names文本框中输入servlets,点击【Finish】。
2.创建Servlet
a)在工程上的【src】【servlets】点击右键,在弹出菜单中选择【New】【Servlet】,在Name文本框中输入LoginServlet,点击【Next】,出现CreateanewServlet对话框。
b)注意:
如果没有【Servlet】则选择【New】【Other】,在弹出的菜单中再选择【MyEclipse】【Web】【Servlet】。
c)在CreateanewServlet对话框中,修改Servlet/JSPName为:
“/LoginServlets”,点击【Finish】。
注意:
创建Servlet之后会自动修改配置文件web.xml。
如下:
ThisisthedescriptionofmyJ2EEcomponent
ThisisthedisplaynameofmyJ2EEcomponent
LoginServlets
servlets.LoginServlets
LoginServlets
/login
d)编写LoginServlet的代码,如下:
//添加导入包
importbeans.*;
importjavax.servlet.http.HttpSession;
importjavax.servlet.RequestDispatcher;
//在doGet方法中编写代码如下:
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//获取用户输入的用户ID和口令
Stringuserid=request.getParameter("username");
Stringuserpass=request.getParameter("userpass");
//创建模型对象
LoginBeanloginBean=newLoginBean();
//调用业务方法进行验证
booleanb=loginBean.validate(userid,userpass);
//要转向的文件
Stringforward;
//如果登陆成功,把用户名写入session中,并且转向success.jsp,
//否则转向failure.jsp
if(b){
//获取session
HttpSessionsession=(HttpSession)request.getSession(true);
//把用户名保存到session中
session.setAttribute("userid",userid);
//目标转向文件是success.jsp
forward="success.jsp";
}else{
//目标转向文件是failure.jsp
forward="failure.jsp";
}
//获取Dispatcher对象
RequestDispatcherdispatcher=request.getRequestDispatcher(forward);
//完成跳转
dispatcher.forward(request,response);
}
//在doPost方法中调用doGet方法,使得无论是get请求还是post请求,
//都访问一致的代码
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doGet(request,response);
}
3.测试Servlet
a)如果WeblogicServer没有启动,则启动WeblogicServer。
b)打开浏览器,输入地址http:
//localhost:
7001/myweb/login。
c)由于没有登录,直接访问LoginServlet,出现“用户名或者口令不正确,请重新登录!
”,表示测试成功。
步骤5:
Web应用测试
1.观察myweb应用最终的文档结构,如下:
注意:
这个文档结构实际部署在“C:
\bea\user_projects\domains\base_domain\autodeploy\myweb”目录下。
2.测试Web应用
d)如果WeblogicServer没有启动,则启动WeblogicServer。
e)打开浏览器,输入地址http:
//localhost:
7001/myweb/login.jsp。
f)在login.jsp中输入正确的、错误的用户名和口令,进行测试,观察访问结果。
实验总结
这个实验中,在Eclipse+MyEclipse6集成开发环境中创建了一个Web应用myweb,包括JSP页面,JavaBean和Servlet,实现了简单的登录功能。