ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:19KB ,
资源ID:3786822      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3786822.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(servlet实验.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

servlet实验.docx

1、servlet实验实验报告(三)院系:信息学院 课程名称:Web数据库技术 日期:班 级信息A1022姓 名专 业信息管理与信息系统学 号29实 验 室实验名称Servlet应用成 绩 评 定教 师 签 名实验目的1、掌握servlet的配置方法2、掌握web服务器的配置过程3、掌握HttpServlet类的用法4、掌握session等对象的用法5、掌握请求转发功能的应用6、掌握SerlvetConfig上下文的用法实验内容Servlet配置、servlet设计、会话管理、请求流转、上下文应用实验过程、结果及分析一、1、请建立一个servlet类用于显示当前的系统时间。写出它的url配置写法p

2、ackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class servletDate extends HttpServl

3、et public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8); response.setCharacterEncoding(UTF-8); response.setContentType(text/html); PrintWriter out = response.getWriter(); String dateString=null; Date date

4、=new Date(); dateString=date.toLocaleString(); out.print(当前时间是:+dateString); out.flush(); out.close(); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException url配置方法:首先在servlet包下新建servlet类:servletDate servletDate servlet.servletDate 然后进行映射,第

5、一个斜杠是web应用的根路径; servletDate /servlet/servletDate 实验过程、结果及分析二、1、请输入用户名和密码,如果用户名和密码是“zhangsan”和”123456”,则进入一个欢迎界面,否则要求用户重新输入。涉及的方法:(1)response.sendRedirect(login.htm); (2)request.getRequestDispatcher(welcome.htm).forward(request, response); (3) HttpSession session = request.getSession();session.setAtt

6、ribute(islogin, true); (4)boolean isLogin=session.getAttribute(islogin); Login.html: MyHtml.html !- This is my HTML page. 用户名   密码   Welcome.javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet

7、;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class Welcome extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(requ

8、est, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException HttpSession session=request.getSession(); String isLogin=(String) session.getAttribute(isLogin); response.setContentType(text/html); PrintWriter out = response.getWriter(

9、); out.println(); out.println(); out.println( A Servlet); out.println();out.println(欢迎进入Java Web世界!); out.println(isLogin:+isLogin); out.println( ); out.println(); out.flush(); out.close(); Login.javapackage servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import j

10、avax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class login1 extends HttpServlet public void doGet(HttpServletRequest request, HttpServletRespon

11、se response) throws ServletException, IOException this.doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(UTF-8);/字符编码问题,解决中文乱码问题 response.setCharacterEncoding(UTF-8); String Name=r

12、equest.getParameter(name); String Pwd=request.getParameter(pwd); if(zhangsan.equals(Name)&123456.equals(Pwd) HttpSession session=request.getSession(); session.setAttribute(isLogin, true); request.getRequestDispatcher(/welcome).forward(request, response);/转发 else response.sendRedirect(request.getCont

13、extPath()+/login1.html);/重定向 2、领会多用户并发访问的机制,请建立一个HttpServlet“servletUsers”类,在该类的成员代码如下:public class serveltUsers extends HttpServlet private Integer x=1; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException this.doPost(request, response); p

14、ublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html); response.setCharacterEncoding(utf-8); PrintWriter out = response.getWriter(); out.println(); out.println(); out.println( A Servlet); out.println( ); ou

15、t.println(当前x的值是+x); out.flush(); synchronized (x) Thread thread=Thread.currentThread(); try thread.sleep(1000*5); catch (InterruptedException e) / TODO Auto-generated catch block e.printStackTrace(); x+; out.println(当前serlvet实例阻塞5秒后,当前x的值是+x); out.println( ); out.println();out.flush(); out.close();

16、 请在5秒内用两个浏览器窗口浏览该HttpServlet类,看看效果如何。为什么是这个效果!第一个窗口显示:当前x的值是1 当前serlvet实例阻塞5秒后,当前x的值是2第二窗口显示:当前x的值是2 当前serlvet实例阻塞5秒后,当前x的值是3分析与解析:用户一访问x时,第一次x为初值1,用户一在休眠五秒钟内释放了对x的控制权,休眠后,当前x的值是3用户二在五秒内再次访问x时,因为对核心语句加锁,必须等待用户一休眠后以及对x加1后才能访问x,这时用户二访问的x为已经加了1,值为2,当前serlvet实例阻塞5秒后,当前x的值是3三、1、请设计一种过滤器实现权限控制机制。如果用户进入web

17、应用没有登入时,要求用户必须进入登入页面。package filter;import java.io.IOException;import java.util.Date;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import ja

18、vax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class encoderFilter implements Filter/过滤器的使用 public void destroy() /销毁,在销毁之前可以保存数据到数据库 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throw

19、s IOException, ServletException HttpServletRequest request=(HttpServletRequest)req; HttpServletResponse response=(HttpServletResponse)res; request.setCharacterEncoding(UTF-8);/字码设置,解决乱码问题 response.setCharacterEncoding(utf-8); HttpSession session=request.getSession(); if(session.isNew() response.send

20、Redirect(request.getContextPath()+/login.html);/重定向 chain.doFilter(request, response); /过滤器的方法 public void init(FilterConfig arg0) throws ServletException /初始化方法 配置WEB.xml encoder filter.encoderFilter encoder /* 过滤web应用下的文件 2、请设计一种机制进行网站访问者统计监听器类package Listener;import javax.servlet.ServletContext;i

21、mport javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class application implements ServletContextListener,HttpSessionListener public voi

22、d contextDestroyed(ServletContextEvent sce) / TODO Auto-generated method stub public void contextInitialized(ServletContextEvent sce) / TODO Auto-generated method stub ServletContext application=sce.getServletContext(); application.setAttribute(count, 0); System.out.print(web 应用初始化*); public void se

23、ssionCreated(HttpSessionEvent se) / TODO Auto-generated method stub System.out.print(一个新的session对象产生*); ServletContext application=se.getSession().getServletContext(); HttpSession session=se.getSession(); session.setAttribute(count, 10); Integer count =(Integer)application.getAttribute(count); int c

24、ou=count+1; application.setAttribute(count, cou); public void sessionDestroyed(HttpSessionEvent se) / TODO Auto-generated method stub 统计类:package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servl

25、et.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class hello3 extends HttpServlet /* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServle

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

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