| 
			
	
	
	
						  
						
						
						
	
 步骤 2 : 配置web.xml 步骤 3 : testRequest.jsp 步骤 4 : 测试 
					RequestListener  实现接口 ServletRequestListener和ServletRequestAttributeListener  
					
				requestInitialized() 当新创建了一个Request的时候触发,只要访问了服务端的资源,就会创建一个Request,无论是jsp,servlet还是html requestDestroyed() 当本次请求结束的时候触发 attributeAdded 当有新增属性时触发 attributeReplaced 当有替换属性时触发 attributeRemoved 当有移除属性时触发 package listener;
import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class RequestListener implements ServletRequestListener, ServletRequestAttributeListener {
	@Override
	public void requestDestroyed(ServletRequestEvent arg0) {
		System.out.println("销毁了一个Request ");
	}
	@Override
	public void requestInitialized(ServletRequestEvent arg0) {
		System.out.println("创建了一个Request ");
	}
	@Override
	public void attributeAdded(ServletRequestAttributeEvent e) {
		System.out.println("request 增加属性 ");
		System.out.println("属性是" + e.getName());
		System.out.println("值是" + e.getValue());
	}
	@Override
	public void attributeRemoved(ServletRequestAttributeEvent arg0) {
		System.out.println("request 移除属性 ");
		
	}
	@Override
	public void attributeReplaced(ServletRequestAttributeEvent arg0) {
		System.out.println("request 替换属性 ");
		
	}
}
 
								
										
									
								
								<listener>
		<listener-class>listener.RequestListener</listener-class>
	</listener>	
 
									
								<listener> <listener-class>listener.RequestListener</listener-class> </listener> 
					测试页面,先在request中设置test,然后替换,最后移出掉test
					 
					
				<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	request.setAttribute("test", 1);
	request.setAttribute("test", 2);
	request.removeAttribute("test");
%>
 
									
								<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	request.setAttribute("test", 1);
	request.setAttribute("test", 2);
	request.removeAttribute("test");
%>
								
								
					访问页面 
					
				http://127.0.0.1/testRequest.jsp 观察测试结果 
				HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
			 
			 
			
			
			
			
			
		
		
		
		 	问答区域     
		 	
				
		  
	 
	  		
	  
	  	2019-01-14
	  		
	  				
	  					 
	  
					
						这个request监听和销毁太频繁了吧,感觉没什么用 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  
 
		回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢	
	 
	  		
	  
	  	2018-11-29
	  		
	  				
	  					 
	  
					
						到底什么是request,什么是session? 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  
 
4 个答案 
	 
VOID1 跳转到问题位置 答案时间:2021-04-07 作用域不一样 
		
							
		
		
		
		
	
		
		now2iava 跳转到问题位置 答案时间:2019-04-30 前面的知识有啊,不清楚的话再去网上看看。其实字面意思就能大概看到,request就是请求,鼠标点击一个按钮,客户端发送请求到服务器,服务器返回响应response给客户端,而session的意思是“会话”,相当于客户端与服务器之间的交流,生命周期比request长。另外还有application和page,前面都讲过的。 
		
							
		
		
		
		
	
		
		java迷途小菜鸡 跳转到问题位置 答案时间:2018-12-03 okay,谢谢解答
 
		
							
		
		
		
		
	
		
		怪咖小森 跳转到问题位置 答案时间:2018-12-02 就是jsp代码的生命周期不同,request就是一次请求之后就释放了,session是一个用户打开浏览器开始直到关闭浏览器,之间无论浏览多少信息都是一个session(浏览器等待一般不超过30分钟),个人理解。 
		
							
		
		
		
		
	
	
	
		回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢	
	 
	  		
	  
	  	2018-10-17
	  		
	  				
	  					 
	  
					
						第二行的 request 替换属性  是怎么出现? 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  
			
			提问之前请登陆
			
		 
		提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢	
	 
 |