实验一开发环境配置及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的文件夹
第二步
在my文件夹中新建一个WEB-INF文件夹,并把web.xml放入
第三步
把TestLifeCycleServlet.java和index.jsp放入my文件夹中
第四步
让tomcat运行起来
第五步
输入http://localhost:8080/my/servlet/TestLifeCycleServlet
web.xml代码
xmlns="https://www.wendangku.net/doc/a110943174.html,/xml/ns/javaee" xmlns:xsi="https://www.wendangku.net/doc/a110943174.html,/2001/XMLSchema-instance" xsi:schemaLocation="https://www.wendangku.net/doc/a110943174.html,/xml/ns/javaee https://www.wendangku.net/doc/a110943174.html,/xml/ns/javaee/web-app_2_5.xsd">
运行结果
实验二
第一步
先建一个web project命名为wy,在src目录下新建一个Servlet命名为ThreeParams import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class ThreeParams extends HttpServlet{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
//解决post方式提交内容的乱码
//一定要写在存取第一个参数之前
request.setCharacterEncoding("GBK");
//解决get方式乱码问题:-->URIEncoding="GBK"
PrintWriter out = 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("in doGet");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("in doPost");
doGet(request, response);
}
}
第三步
编写jsp文件,使其能调用java文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
第四步
建立关联,并把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:
<%@page language="java"import="java.util.*"pageEncoding="gb2312"%>
<%!
int number=1;
synchronized void countPeople() //同步方法
{
number++;
}
%>
<%
if(session.isNew()) //判断是否为新用户
{
countPeople();
}
String str=String.valueOf(number);
session.setAttribute("count",str); //将str增加到session对象中
%>
您是第<%=(String)session.getAttribute("count")%>个访问本站的人。
请选择用户类型