⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servlet_day03.txt

📁 详细讲述Servlet
💻 TXT
字号:
第三章

1.init
  . 一次
  . 无线程安全问题
  . 实例化之后立即调用;

2.service   (*)
  . 一个请求通过产生一个线程调用一次
  . 有线程安全问题
    1) synchronized
    2) 实现接口SingleThreadModel(不建议使用)
  . 每来一个请求调用

3.destroy
  . 一次
  . 无线程安全问题 
  . servlet对象销毁前调用;
    1) 应用停止、重载
    2) 服务器关闭

第四章

1. Servlet中使用JDBC

   代码与以前同,关键注意驱动程序的位置:
   . Web应用/WEB-INF/lib/classes12.jar
   . $CATALINA_HOME/common/lib/classes12.jar     

2. Servlet中使用DataSource
   1) 将驱动程序置于:
      $CATALINA_HOME/common/lib/classes12.jar 
   2) 通过Tomcat的Admin应用往文件
      $CATALINA_HOME/conf/Cataling/localhost/应用同名的xml文件 

      <context docBase="应用对应的WebRoot目录"

      增加数据源的配置信息;
   3) 修改web.xml,将数据源引入到当前应用:
      <resource-ref>
	<res-ref-name>数据源的JNDI名字</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
      </resource-ref>
   4) 在Servlet中使用代码获得连接:
      Context ctx=new InitialContext();
      DataSource ds=(DataSource)
         ctx.lookup("java:comp/env/JNDI名字");
      Connection conn=ds.getConnection();

4. 服务器资源跳转

   RequestDispatcher.forward
                    .include

   ServletContext.getRequestDispatcher();


各种资源跳转方式的区别的联系:

        同一个请求 地址栏内容 由谁响应    是否可跳转至其它应用  /的含义          客户端所看到的内容
------------------------------------------------------------------------------------------------
forward   是       不改变    最后一个资源  不行               Web应用的根路径   最后一个资源out.println输出内容
include   是       不改变    第一个资源    不行               Web应用的根路径   多个资源out.println输出内容


第五章

1. Cookie

   HTTP协议本身的一种机制,HTTP协议本身能
   自动在客户端和服务器端传输需要在不同
   请求间共享的数据(最终保存在客户端);

   发送请求:自动搜集和该次请求资源相关的数据,
             附加在请求头部发送到服务器端;
   接收响应:数据可附加在响应的头部发送回
             回浏览器端, 这时有两种存在形式: 
	     1) 持久Cookie: 以文件形式存在 
	                    客户端 硬盘上;
             2) 会话Cookie: 存在 客户端 内存中,
	        一关闭浏览器就消失;

   Cookie片段(在多个请求间所传递的数据,文本格式)
   1) 以 名值对 存在的数据内容;
   2) domain: 限定Cookie片段在发送请求时只
              附加到指定domain对应的URL;
   3) 路径: 
   4) 发送条件:
   5) 过期时间:

   设置: Cookie cookie=new Cookie();
          response.addCookie(cookie);

   获取: Cookie[] cs=request.getCookies();
          for(Cookie c:cs) {
	    if(c.getName().equals("") {
	     ...
	    }
	  }

2. Session

   Servlet中本身支持的机制,它是在服务器端
   保存要在多个请求间传递的数据, 每次响应时
   将一个唯一标识所保存数据的jsessionid发送
   回客户端,每次请求时重新将jsessionid发送
   回服务器端;

   发送请求:将jessionid附加在请求(头部或体部)
            中发送到服务器端;
   接收响应:jessionid自动附加在响应(头部或体部
             )发送回浏览器端;

   
ch05

PersonalCounterPro.java

/pcp

ch05

PersonalLoginPro.java

/plp


WebRoot
   |
   --- login.html

ch05

LoginServlet.java

/login












⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -