JavaWeb实验报告.docx
《JavaWeb实验报告.docx》由会员分享,可在线阅读,更多相关《JavaWeb实验报告.docx(44页珍藏版)》请在冰豆网上搜索。
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
教师
学生
用户登录
用户名:
密码: