JavaWeb实验报告.docx

上传人:b****3 文档编号:4000781 上传时间:2022-11-27 格式:DOCX 页数:44 大小:436.40KB
下载 相关 举报
JavaWeb实验报告.docx_第1页
第1页 / 共44页
JavaWeb实验报告.docx_第2页
第2页 / 共44页
JavaWeb实验报告.docx_第3页
第3页 / 共44页
JavaWeb实验报告.docx_第4页
第4页 / 共44页
JavaWeb实验报告.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

JavaWeb实验报告.docx

《JavaWeb实验报告.docx》由会员分享,可在线阅读,更多相关《JavaWeb实验报告.docx(44页珍藏版)》请在冰豆网上搜索。

JavaWeb实验报告.docx

JavaWeb实验报告

JavaWeb实验报告

实验一开发环境配置及Servlet程序设计

一、实验目的

1、了解并熟悉编程环境、编程工具,包括Tomcat、MyEclipse和JDK;

2、学会配置环境变量;

3、掌握在MyEclipse中编辑简单源程序的方法、创建包和servlet类的方法;

4、掌握在Tomcat中手工创建可执行程序的方法;

二、实验内容及要求

本次实验内容分为两部分:

1、验证部分

1)通过手动的方式在Tomcat中建立工程my,在该工程中建立所需的文件夹以及文件web.xml。

2)在MyEclipse中建立一个名为TestLifeCycleServlet.java的servlet。

3)运行该servlet。

2、编程实现部分

编写一个页面程序(JSP程序)和一个后台程序(servlet程序),用户从页面中输入姓名、性别、年龄等信息,并提供一个查询按钮。

当用户提交查询按钮时,执行servlet程序,该程序将用户输入的信息显示出来。

用户界面的显示效果参见图1所示:

图1表单显示效果示例

三、实现

1、验证部分

实现过程、必要的配置文件说明、实验结果等。

第一个实验

实验过程

第一步:

打开tomcat文件夹,在webapps中新建一个my的文件夹

ss>

TestLifeCycleServlet

/servlet/TestLifeCycleServlet

index.jsp

 

运行结果

实验二

第一步

先建一个webproject命名为wy,在src目录下新建一个Servlet命名为ThreeParams

importjavax.servlet.*;

importjavax.servlet.http.*;

importjava.io.*;

publicclassThreeParamsextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

 

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

response.setContentType("text/html;charset=GBK");

//解决post方式提交内容的乱码

//一定要写在存取第一个参数之前

request.setCharacterEncoding("GBK");

//解决get方式乱码问题:

-->URIEncoding="GBK"

PrintWriterout=response.getWriter();

out.println(request.getParameter("sName"));//获取名字

out.println("
");//显示名字

out.println(request.getParameter("sex"));

out.println("
");

out.println(request.getParameter("age"));

out.println("
");

System.out.println("indoGet");

}

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

System.out.println("indoPost");

doGet(request,response);

}

}

第三步

编写jsp文件,使其能调用java文件

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

MyJSP'QueryForm.jsp'startingpage

输入姓名:


输入性别:


输入年龄:


第四步

建立关联,并把tomcat跑起来。

程序结果

实验二JSP应用程序设计(内置对象)

一、实验目的

1、了解并熟悉编程环境、编程工具,包括Tomcat、MyEclipse和JDK;

2、学会配置环境变量;

3、掌握在MyEclipse中编辑简单源程序的方法、创建包和servlet类的方法;

4、掌握在Tomcat中手工创建可执行程序的方法;

5、加强对servlet的生命周期的理解;掌握servlet程序的实现方法。

一、实验目的

1、掌握表单的使用方法,以及服务器端处理表单请求的方法;

2、掌握页面跳转的解决方法;

4、重点掌握JSP内置对象request、response、application、session。

二、实验内容及要求

1、熟悉JSP开发环境的各项设置。

2、建立Web工程。

该工程有如下要求:

根据用户类型(教师/学生)显示不同的页面。

需要定义设计如下页面:

1)登录页面(Login.html)

图1登录页面

在上述登录页面提供计数器功能,在页面右侧显示:

“本网站访问次数:

”后面显示被访问次数。

提示:

用户类型的输入用下拉列表实现,下拉列表的使用见教材P.57-58例exa3_7.jsp。

计数器功能利用内置对象session实现,具体实现可参照教材P.75示例exa3_19.jsp,该示例代码不全,完备的代码可以参加本书配套的示例exa3_19.jsp源码。

2)forward.jsp

根据用户类型,进行任务转发(逻辑处理)。

如果是教师类型,把任务转发给teacher.jsp;如果是学生类型,把任务转发给student.jsp

3)teacher.jsp

如果用户名和密码都等于teacher,跳转到本页面(teacher.jsp),输出“欢迎您的访”,同时在本页面提供留言板的功能;否则页面返回到Login.html。

提示:

留言板的功能利用内置对象application实现。

参见教材P.78-79示例。

4)student.jsp

如果用户名和密码不为空,输出:

您输入的用户名是***。

5)loginfail.jsp

若用户名或密码为空,则返回到login.html重新登录,并在登录页面的表单上方显示:

“用户名或密码不能为空!

”。

图2登录失败后出现的页面

三、实现

1、验证部分

第一步:

创建登陆页面Login.html

提供用户类型选择,用户名和密码输入框。

并用计数器记录本网站访问次数。

第二步:

创建登陆处理页面Login.jsp

第三步:

创建forward.jsp

如果角色选择为教师(即b),并且用户名为shiyunmei,密码为1234,则跳转到Teacher.jsp页面;

如果角色选择为学生(即c),并且用户名也windy,密码为1234,则跳转到Student.jsp页面;

以上两种情况都不是跳转到Loginfail.jsp页面。

第四步:

创建学生处理页面Student.jsp

第五步:

创建老师处理界面Teacher.jsp

输出“欢迎您的访问”,同时提供留言板功能和查看留言板的功能。

当按提交信息时,表单会跳转到messagePane1.jsp页面,提交方法为post;当按查看留言板时,会跳转到showMessage1.jsp页面,提交方法为post。

第六步:

创建提交信息处理界面messagePane1.jsp

输出“您的信息已经提交”。

该页面讲留言存入向量,并将向量存放在application对象中。

第七步:

创建查看留言板处理界面showMessage.jsp

当查看留言板时,showMessage.jsp负责从application对象中取出向量,并遍历向量显示其中所有的留言。

第八步:

创建Loginfail.jsp页面

若用户名或密码为空,则返回到login.html重新登录,并在登录页面的表单上方显示:

“用户名或密码不能为空!

代码:

Login.jsp:

<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%>

MyJSP'QueryForm.jsp'startingpage

<%!

intnumber=1;

synchronizedvoidcountPeople()//同步方法

{

number++;

}

%>

<%

if(session.isNew())//判断是否为新用户

{

countPeople();

}

Stringstr=String.valueOf(number);

session.setAttribute("count",str);//将str增加到session对象中

%>

您是第<%=(String)session.getAttribute("count")%>个访问本站的人。

请选择用户类型

//提交表单后跳转到foward.jsp页面,提交方法为post

教师

学生

用户登录

用户名:

密码:

 

forward.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'forward.jsp'startingpage

<%

if(request.getParameter("username")!

=null&&request.getParameter("password")!

=null){

Stringrole=request.getParameter("a");//从request中拿出名字叫a的值,赋给role

StringName=request.getParameter("username");//从request中拿出名字叫username的值,赋给Name

StringPassword=request.getParameter("password");//从request中拿出名字叫password的值,赋给Password

if(role.equals("b")&&Name.equals("shiyunmei")&&Password.equals("1234"))//如果选择老师,用户名为施运梅,密码为1234,则发送到老师页面

{

session.setAttribute("Login","OK");

response.sendRedirect("Teacher.jsp");

}

elseif(role.equals("c")&&Name.equals("windy")&&Password.equals("1234"))//如果选择学生,用户名为windy,密码为1234,则发送到学生页面

{

session.setAttribute("Login","OK");

response.sendRedirect("Student.jsp");

}

else

{

response.sendRedirect("Loginfail.jsp");//都不符合,则发送到Loginfail.jsp

}

}

%>

 

Student.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'Student.jsp'startingpage

您的用户名为:

windy

 

Teacher.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'Teacher.jsp'startingpage

<%--

LoginName:


LoginPassword:



--%>

欢迎您的访问!

<%--当按提交时,跳转到messagePane1,提交方法为post--%>

输入您的留言:

<%--当按查询时,跳转到showMessage1,提交方法为post--%>

 

messagePane1.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'messagePane1.jsp'startingpage

<%!

Vectorv=newVector();

inti=0;

ServletContextapplication;

synchronizedvoidsendMessage(Strings)

{application=getServletContext();;

i++;

v.add("No."+i+","+s);

application.setAttribute("Mess",v);

}

%>

<%

Stringmessages=request.getParameter("messages");

if(messages==null)

{messages="无信息";

}

sendMessage(messages);

out.print("您的信息已经提交!

");

%>

返回

 

showMessage1.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'showMessage1.jsp'startingpage

<%Vectorv=(Vector)application.getAttribute("Mess");

for(inti=0;i

{Stringmessage=(String)v.elementAt(i);

StringTokenizerfenxi=newStringTokenizer(message,"#");

while(fenxi.hasMoreTokens())

{Stringstr=fenxi.nextToken();

bytea[]=str.getBytes("ISO-8859-1");

str=newString(a);

out.print("
"+str);

}

}

%>

 

Loginfail.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'Loginfail.jsp'startingpage

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1