severlet 学习基础

来源:互联网 发布:wow数据库 3.35 编辑:程序博客网 时间:2024/06/05 17:24


<load-on-satrtup>x</load-on-satrtup>  x 小的先执行


Httpservrlet request:作用范围只在一次请求中
request.setAttribte();给值。


四个方法:


setAttbute..();


HttpSession session :
HttpSession session=request.getSession();取值。
1,在respose.getSession ,获取
2,当浏览器或者服务器没关都有效
3,<session-time></session->
4,执行session.invalidate();就会清理数据及失效
5,<session-config><session-timeout>10</session-timeout></session-config>
等待刷新时间差(10分钟)
6,session.getId();服务器和浏览器没有配对就session无效!并且不会重复!








服务器与浏览器关系!session.getId() !SessionID()....>


浏览器发送一次请求到服务器,服务器首先判断,该请求是否携带一个SessionID值
如果这次请求没有携带一个SessionID值,服务器就知道了,这是第一次来访问该服务器
浏览器与该服务器开始建立会话
服务器会在相应请求的同时,将产生一个SessionID,作为该次会话的标识
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表这不是一个新的会话的请求
如果浏览器两个请求之间的时间太长,超出服务器等待的时间,服务器会删除这个session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
也就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为这次新会话的标识
又把这个SessionID发给浏览器,浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动分配一个空间(session对象),SessionID就在session对象里






severletConfig 
接口 所有的severlet都可调用,severletConfig 一个项目被共享


ServletConfig fig=this.getServletConfig();

fig.getInitParameter(String src);获得当前目录下的所有文件

获得: SeverletConfig fig=this.getSeverletConfig();
步凑:    在web里面定义<init-param><param-name>name</param-name>
                  <param-value>abc</param-value>
            </init-param>
获取值fig.getInitParameterName(); 获取所有
fig,getSeverLetContext();,枚举一个


获得:SeverletConfig fig=this.getSeverLetContext();


在web中的调试代码

<!-- 跳转 -->
  <servlet>
    <servlet-name>severlet</servlet-name>
    <servlet-class>testSeverlet.severlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>severlet</servlet-name>
    <url-pattern>/severlet</url-pattern>
  </servlet-mapping>
  
  <!-- session测试 -->
  <servlet>
  <servlet-name>sessionT0</servlet-name>
  <servlet-class>sessionT.sessionT0</servlet-class>
  
  <!--设置  severletConfig   -->
      <init-param><param-name>name</param-name>
                  <param-value>abc</param-value>
      </init-param>
      
       <init-param><param-name>jdbc</param-name>
                  <param-value>jdbc://127.0.0.1:8080/std</param-value>
      </init-param>
      
  </servlet>
  <servlet-mapping>
    <servlet-name>sessionT0</servlet-name>
    <url-pattern>/sessionT0</url-pattern>
  </servlet-mapping>
  
  <!-- 过滤器 -->
  <filter>
  <filter-name>severletT1</filter-name>
  <filter-class>sessionT.severletT1</filter-class>

  </filter>
  <filter-mapping>
 <filter-name> severletT1</filter-name><!--路径 -->
  <url-pattern>/*</url-pattern><!--过滤的范围  -->
  </filter-mapping>

  
在class文件代码:  

第一个class调试类:

public class severletT1 extends HttpServlet  implements Filter{
// @Override

/protected void doGet(HttpServletRequest request, HttpServletResponse response)
// throws ServletException, IOException {
// // TODO Auto-generated method stub
// doPost(request, response);
//}
// @Override
// protected void doPost(HttpServletRequest request, HttpServletResponse response)
// throws ServletException, IOException {
// // TODO Auto-generated method stub
//// ServletConfig fig2=this.getServletConfig();
////     System.out.println(fig2.getInitParameter("name"));
////     System.out.println(fig2.getInitParameterNames());
////     ServletContext fig=this.getServletContext();
////    System.out.println(fig.getAttribute("jdbc"));
//  
// }
// 
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("aandjkashdgasdgasjhdga");

}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

第二个class调试类:
public class sessionT0 extends HttpServlet {
public void doGet(HttpServletRequest reques
t, HttpServletResponse response)
throws ServletException, IOException {
         doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session=request.getSession();
request.setAttribute("name","gg");
request.setAttribute("pwd","123456");
session.setAttribute("name1","hh");
session.setAttribute("pwd1", "123hh");
  System.out.println(session.getId());
//session.invalidate(); //失效
  
  
  
  
    ServletConfig  fig=this.getServletConfig();
    System.out.println(fig.getInitParameter("jdbc"));
    System.out.println(fig.getInitParameterNames());
    ServletContext fig2=this.getServletContext();
         fig2.getAttribute("jdbc");
    
// request.getRequestDispatcher("SE.jsp").forward(request, response);
// return;
}


}

原创粉丝点击