1、welcome-fileindex.jsp/welcome-file-list运行结果实验二第一步先建一个web project命名为wy,在src目录下新建一个Servlet命名为ThreeParamsimport javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class ThreeParams extends HttpServlet private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequ
2、est request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=GBK); /解决post方式提交内容的乱码 /一定要写在存取第一个参数之前 request.setCharacterEncoding(GBK /解决get方式乱码问题:-URIEncoding= PrintWriter out = response.getWriter(); out.println(request.getParameter(sName)
3、; /获取名字 out.println(br /显示名字sexage System.out.println(in doGet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException in doPost doGet(request, response);第三步编写jsp文件,使其能调用java文件% page language=java import=java.util.* pageEncoding=UTF-8%html
4、headtitleMy JSP QueryForm.jsp starting page/headbodyform action=/wy/servlet/ThreeParams method=post 输入姓名:input type=text name= 输入性别: 输入年龄:submit value=查询/form/body/html第四步建立关联,并把tomcat跑起来。程序结果 实验二 JSP应用程序设计(内置对象)5、加强对servlet的生命周期的理解;掌握servlet程序的实现方法。1、 掌握表单的使用方法,以及服务器端处理表单请求的方法;2、 掌握页面跳转的解决方法;4、 重点掌
5、握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,该示例代码不全,完备的代码可以参加本书配套的示
6、例exa3_19.jsp源码。2)forward.jsp根据用户类型,进行任务转发(逻辑处理)。如果是教师类型,把任务转发给teacher.jsp;如果是学生类型,把任务转发给student.jsp3)teacher.jsp如果用户名和密码都等于teacher,跳转到本页面(teacher.jsp),输出“欢迎您的访”,同时在本页面提供留言板的功能;否则页面返回到Login.html。留言板的功能利用内置对象application实现。参见教材P.78-79示例。4)student.jsp如果用户名和密码不为空,输出:您输入的用户名是*。5)loginfail.jsp若用户名或密码为空,则返回
7、到login.html重新登录,并在登录页面的表单上方显示:“用户名或密码不能为空!”。图2 登录失败后出现的页面创建登陆页面Login.html提供用户类型选择,用户名和密码输入框。并用计数器记录本网站访问次数。第二步:创建登陆处理页面Login.jsp第三步:创建forward.jsp如果角色选择为教师(即b),并且用户名为shiyunmei,密码为1234,则跳转到Teacher.jsp页面;如果角色选择为学生(即c),并且用户名也windy,密码为1234,则跳转到Student.jsp页面;以上两种情况都不是跳转到Loginfail.jsp页面。第四步:创建学生处理页面Student
8、.jsp第五步:创建老师处理界面Teacher.jsp输出“欢迎您的访问”,同时提供留言板功能和查看留言板的功能。当按提交信息时,表单会跳转到messagePane1.jsp页面,提交方法为post;当按查看留言板时,会跳转到showMessage1.jsp页面,提交方法为post。第六步:创建提交信息处理界面messagePane1.jsp输出“您的信息已经提交”。该页面讲留言存入向量,并将向量存放在application对象中。第七步:创建查看留言板处理界面showMessage.jsp当查看留言板时,showMessage.jsp负责从application对象中取出向量,并遍历向量显示
9、其中所有的留言。第八步:创建Loginfail.jsp页面”代码:Login.jsp:gb2312%! int number=1; synchronized void countPeople() /同步方法 number+; % if(session.isNew() /判断是否为新用户 countPeople(); String str=String.valueOf(number); session.setAttribute(count,str); /将str增加到session对象中P您是第个访问本站的人。p请选择用户类型forward.jsp name=form /提交表单后跳转到fowa
10、rd.jsp页面,提交方法为postSELECT name=a OPTION name=Teacher value=b教师OPTION name=Student value=c学生/SELECT用户登录用户名:username size=20 密码:password size=20提交您的选择/pforward.jspGB2312String path = request.getContextPath();String basePath = request.getScheme()+:/+request.getServerName()+request.getServerPort()+path+/
11、;!DOCTYPE HTML PUBLIC -/W3C/DTD HTML 4.01 Transitional/ENbase href=%=basePath%forward.jsp% if (request.getParameter() != null & request.getParameter(= null) String role=request.getParameter( /从request中拿出名字叫a的值,赋给role String Name = request.getParameter( /从request中拿出名字叫username的值,赋给Name String Passwor
12、d = request.getParameter( /从request中拿出名字叫password的值,赋给Password if (role.equals()&Name.equals(shiyunmei) & Password.equals(1234) /如果选择老师,用户名为施运梅,密码为1234,则发送到老师页面 session.setAttribute(Login, OK response.sendRedirect(Teacher.jsp else if(role.equals(windy) /如果选择学生,用户名为windy,密码为1234,则发送到学生页面 session.setA
13、ttribute( response.sendRedirect(Student.jsp else Loginfail.jsp /都不符合,则发送到Loginfail.jspStudent.jspStudent.jsp 您的用户名为:windyTeacher.jspTeacher.jsp%-欢迎您的访问!FORM action=messagePane1.jsp method=post nam=form%-当按提交时,跳转到messagePane1,提交方法为post-%输入您的留言:TEXTAREA name=messages ROWs=10 COLS=36 WRAP=physical/TEXT
14、AREAINPUT type=提交信息/FORMshowMessage1.jspform1%-当按查询时,跳转到showMessage1,提交方法为post-%查案留言板lookmessagePane1.jspmessagePane1.jsp Vector v=new Vector(); int i=0; ServletContext application; synchronized void sendMessage(String s) application=getServletContext(); i+; v.add(No.+i+,+s); application.setAttribute(Mess,v); String messages=request.getParameter( if(messages=null) messages=无信息 sendMessage(messages); out.print(您的信息已经提交!A HREF=返回 showMessage1.jspshowMessage1.jsp% Vector v=(Vector)application.getAttribute( for(int i=0;i+str); Loginfail.jspLoginfail.jsp
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1