当前位置: 首页 > news >正文

海南做网站的公司有哪些网站建设毕业设计刻光盘

海南做网站的公司有哪些,网站建设毕业设计刻光盘,erp二次开发好还是网站开发好,wordpress公司展示网站模板没有servlet能单独存在。在当前的现代Web应用中#xff0c;许多组件都是在一起协作共同完成一个目标。怎么让这些组件共享信息#xff1f;如何隐藏信息#xff1f;怎样让信息做到线程安全#xff1f; 1 属性和监听者 1.1 初始化 容器初始化一个servlet时#xff0c;会为… 没有servlet能单独存在。在当前的现代Web应用中许多组件都是在一起协作共同完成一个目标。怎么让这些组件共享信息如何隐藏信息怎样让信息做到线程安全 1 属性和监听者 1.1 初始化 容器初始化一个servlet时会为这个servlet建一个唯一的ServletConfig。容器从web.xml 配置文件中“读出”servlet初始化参数并把这些参数交给ServletConfig。然后把ServletConfig传递给servlet的init()方法。 一旦参数置于ServletConfig中就不会再读了除非重写部署了servlet。 1.1.1 上下文初始化参数 上下文初始化参数与servlet初始化参数很类似只不过上下文参数对整个Web应用可用而不只针对一个servlet。 public class InitServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {ServletConfig servletConfig getServletConfig();String servletName servletConfig.getInitParameter(servletName);ServletContext servletContext getServletContext();String contextName servletContext.getInitParameter(contextName);resp.setCharacterEncoding(gbk);PrintWriter writer resp.getWriter();writer.println(servlet初始化参数: servletName);writer.println(上下文初始化参数: contextName);writer.close();} } web-app xmlnshttp://java.sun.com/xml/ns/j2eexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsdversion2.4servletservlet-nameinitServlet/servlet-nameservlet-classservlet.InitServlet/servlet-classinit-paramparam-nameservletName/param-nameparam-valueinitServlet/param-value/init-param/servletcontext-paramparam-namecontextName/param-nameparam-valueday01/param-value/context-paramservlet-mappingservlet-nameinitServlet/servlet-nameurl-pattern/init/url-pattern/servlet-mapping/web-app web.xml  1.2 监听者 接口 使用场景 ServletContextAttributeListener 监听Web应用上下文中是否增加、删除或替换了一个属性。 HttpSessionListener 监听会话的创建。 ServletRequestListener 用户请求监听。 ServletRequestAttributeListener 监听请求增加、删除或替换属性。 HttpSessionBindingListener 属性类对象在绑定到一个会话或从会话删除时触发给属性类对象。 HttpSessionAttributeListener 监听会话增加、删除或替换属性。 ServletContextListener 监听Web应用上下文创建或销毁。 HttpSessionActivationListener 监听会话迁移到另一个JVM。 表 servlet常见的8种监听者 public class MyAtt implements HttpSessionBindingListener {Overridepublic void valueBound(HttpSessionBindingEvent event) {System.out.println(myAtt 添加到: event.getSession());}Overridepublic void valueUnbound(HttpSessionBindingEvent event) {System.out.println(myAtt 移除);} }public class MyHttpSessionAttributeListener implements HttpSessionAttributeListener {Overridepublic void attributeAdded(HttpSessionBindingEvent event) {System.out.println(添加session属性 event.getName() ,其值为: event.getValue());}Overridepublic void attributeRemoved(HttpSessionBindingEvent event) {System.out.println(删除session属性 event.getName() ,其值为: event.getValue());}Overridepublic void attributeReplaced(HttpSessionBindingEvent event) {System.out.println(替换属性 event.getName() ,其值为: event.getValue());}}public class MyHttpSessionListener implements HttpSessionListener {Overridepublic void sessionCreated(HttpSessionEvent event) {System.out.println(有个会话被创建了: event.getSession());}Overridepublic void sessionDestroyed(HttpSessionEvent event) {System.out.println(有个会话被销毁了: event.getSession());} }public class MyServletContextAttributeListener implements ServletContextAttributeListener {Overridepublic void attributeAdded(ServletContextAttributeEvent event) {System.out.println(添加上下文属性 event.getName() ,其值为: event.getValue());}Overridepublic void attributeRemoved(ServletContextAttributeEvent event) {System.out.println(删除上下文属性 event.getName() ,其值为: event.getValue());}Overridepublic void attributeReplaced(ServletContextAttributeEvent event) {System.out.println(替换上下文属性 event.getName() ,其值为: event.getValue());} }public class MyServletContextListener implements ServletContextListener {Overridepublic void contextInitialized(ServletContextEvent event) {System.out.println(上下文创建 event.getServletContext());}Overridepublic void contextDestroyed(ServletContextEvent event) {System.out.println(上下文销毁: event.getServletContext());}}public class MyServletRequestAttributeListener implements ServletRequestAttributeListener {Overridepublic void attributeAdded(ServletRequestAttributeEvent event) {System.out.println(添加请求属性 event.getName() ,其值为: event.getValue());}Overridepublic void attributeRemoved(ServletRequestAttributeEvent event) {System.out.println(删除请求属性 event.getName() ,其值为: event.getValue());}Overridepublic void attributeReplaced(ServletRequestAttributeEvent event) {System.out.println(替换请求属性 event.getName() ,其值为: event.getValue());} }public class MyServletRequestListener implements ServletRequestListener {Overridepublic void requestDestroyed(ServletRequestEvent event) {System.out.println(请求被销毁: event.getServletRequest());}Overridepublic void requestInitialized(ServletRequestEvent event) {System.out.println(请求初始化: event.getServletRequest());} } 监听者  public class ListenerServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setAttribute(reqAtt,hello req);req.getSession().setAttribute(sessionAtt, hello session);req.getSession().setAttribute(binding,new MyAtt());getServletContext().setAttribute(contextAtt, hello context);} } web-app xmlnshttp://java.sun.com/xml/ns/j2eexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsdversion2.4servletservlet-namelistenerServlet/servlet-nameservlet-classservlet.ListenerServlet/servlet-class/servletservlet-mappingservlet-namelistenerServlet/servlet-nameurl-pattern/listener/url-pattern/servlet-mappinglistenerlistener-classlistener.MyHttpSessionAttributeListener/listener-class/listenerlistenerlistener-classlistener.MyHttpSessionListener/listener-class/listenerlistenerlistener-classlistener.MyServletContextAttributeListener/listener-class/listenerlistenerlistener-classlistener.MyServletContextListener/listener-class/listenerlistenerlistener-classlistener.MyServletRequestAttributeListener/listener-class/listenerlistenerlistener-classlistener.MyServletRequestListener/listener-class/listener/web-app web.xml  2 会话管理 Web服务器没有短期记忆。 HttpSession对象可以保存跨同一个客户多个请求的会话状态即与一个特定客户的整个会话期间HttpSession会持久存储。对于会话期间客户做的所有请求都可以用HttpSession存取。 2.1 容器几乎做cookie的所有工作 除了必须告诉容器创建或使用一个会话其他工作比如生成会话ID、创建新的cookie对象、把会话ID放到cookie中、把cookie设置为响应的一部分以及从请求中的cookie得到会话ID将这个会话ID与一个现有会话匹配等工作都是由容器完成。 HttpSession session request.getSession(); // 在响应中发送一个会话cookie 执行完上面后容器会负责余下的事情你什么也不用做。 HttpSession session request.getSession(); // 从请求得到会话id。 执行完上面后容器会负责余下的事情找到与该ID匹配的会话没有则创建一个新会话。 图 执行request.getSession()后的响应与请求 当cookie被禁时URL重写是一条后路:如果客户端不接受cookie可以把URL重写作为一条后路。当然在实际开发中这种方法很少使用。 2.2 删除会话 删除会话有两种方式(不包括结束应用) 1设置超时时间setMaxInactiveInterval() 指定对于这个会话客户请求的最大间隔时间秒。 也可以在web.xml中配置单位是分钟 session-config session-timeout15session-timeout /session-config 2结束会话invalidate() 2.3 会话迁移 在部署分布式Web应用时容器可能会负载均衡取得客户的请求把请求发送到多个JVM上。例如每次客户请求时有可能到达同一个servlet到不同实例。 只有HttpSession对象及其属性会从一个VM移到另一个VM。 每个VM中有一个ServletContext,每个VM上的每个servlet有一个ServletConfig。但是对于每个Web应用的一个给定会话ID只有一个HttpSession对象而无论应用分布在多少个VM上。
http://www.w-s-a.com/news/946510/

相关文章:

  • 同江佳木斯网站设计做网站联系电话
  • 设计上海展会2023seo网站模板下载
  • 开发一个卖东西的网站多少站长工具永久
  • 公司网站怎么突然多了好多友情链接如何删除宁波有几个区
  • 临沂seo网站推广wordpress新编辑器
  • c2c网站设计店面logo设计制作
  • 网站建设任务执行书重庆今天新闻事件
  • 怎样发布自己的网站南宁制作网站公司
  • wordpress装多站点百度查一下
  • 怎么优化一个网站搭建网站免费空间
  • 山东建设和城乡建设厅注册中心网站首页wordpress安装教材
  • 个人风采网站制作毕节网站开发公司电话
  • 网络网站销售设计主题和设计理念
  • 做网站一般用什么服务器承德专业做网站
  • 松北区建设局网站网站建设分为几种
  • 网站建设的合同 体会智联招聘网站建设情况
  • 记的网站域名wordpress地方信息主题
  • 淄博好的建网站公司网站建设 海口
  • 有人做网站花了10几万2017做啥网站能致富
  • 做网站有什么软件cod建站平台
  • 合肥学校网站建设怎么做免费的产品图片网站
  • 营养早餐网站的设计与制作建设通网站怎么查项目经理在建
  • 浑南区建设局网站永州网站建设公司推荐
  • 做外贸都得有网站吗绵阳网站建设制作
  • 功能性的网站建设北京餐饮品牌设计公司
  • php做网站优势视频直播软件
  • 怎么安装php网站哪个网站是专门为建设方服务的
  • 重慶网站开发sina app engine wordpress
  • wampserver网站开发步骤中冠工程管理咨询有限公司
  • 自己做网站商城需要营业执照吗老外做牛排的视频网站