Java整理10
创始人
2024-11-21 18:36:23
0

1、注解方式

@WebServlet("/s1") 使用注解方式就不用xml方式了 Servlet生命周期        		    		 时间段 	(1)实例化			构造器			第一次请求 	(2)初始化			init			构造完毕 	(3)接收处理请求		service()		每次 	(4)销毁			destroy()		关闭服务 load-on-startup=负数:服务启动时不会自动初始化、正数:初始化顺序 @webSevlet(value="/s1",loadOnStartup=5) 继承HttpServlet后要么重写service()要么重写deGet/doPost 

2、注解形式与XML形式

注解形式: 	@WebServlet( 		urlpatterns="servlet1" 		initparms={@webInitParam(name="keya",value="valuea")} 	) 	@WebInitParam(name="keyb",value="valueb") XML形式:  	keya 	valuea  

3、ServletConfig与ServleContext

ServletConfigt	多例 ServletConfig sc=get.ServletConfig(); String keya=servletConfig.getInitParameter("keya") 获取所有初始参数的名字: 	Enumration initparameternames=ServletConfig.getInitParaeterName(); 	hasMoreElements:判断有没有下一个元素  有true 无false 	nextElement:取出下一个元素  向下移动游标 每一个Servlet都有一个ServletConfig对象 ServleContext	单例 servletContext可以为所有Servlet提供公共参数  	enconding 	UTF-8  获取ServletContext对象		 	this.servletContext() 	ServletContext sctext=servletConfig.getServletContext(); 	ServletContext sctext=req.getServletContext();数据获取同servletConfig一样 ServletContext的API eg: 	要求向upload文件夹中写文件 	ServletContext servletContext=getServletContext(); 	String path=ServletContext.getRealPath("upload"); 	获取一个指向项目部署位置下的某个文件/目录的磁盘真实路径 	FileOutputStream fos=new FileOutputStream(path) 	获取项目部署下的上下文路径/访问路径 	String contextpath=ServletContext.getContextPath(); 域对象 	void setAttribute(String key,Object value);  存储/修改 	Object getAttribute(String key);  获取 	void removeAttribute(String key);  移除 

4、HttpServletRequest

HttpServletRequest  接口  ServletRequest  父接口 行相关:请求方式、uri、协议/版本号 	req.getMethod()  		请求方式 	req.getSheme()  		协议 	req.getProtocol()  	    协议+版本号 	req.getRequestURL()     uri  资源路径 	req.getURL()  			完整路径 	req.getLocalPort() 	req.getServePort()      客户端发送请求时 	req.getRemotePort() 头相关:key:value 	req.getHeader("key")		获取指定请求头 	req.getHeaderNames()	    获取所有请求头名字 Enumeration headerNames=req.getHeaderNames(); 获取参数 	Enumeration parameterNames=req.get.parameterNames();返回字符串列表 	req.getParameter(参数名)		   	  根据参数名单个获取 	req.getParameterValues(参数名)	  获取单个参数值 	req.getParameterMap()=>Map	 eg: 	Set> entries=parameterMap.entrySet(); 	for(Map.entry entry:entries){ 		String pname=entry.getkey() 		String[] value=entry.getvalue() 		if(value.length>1) 			system.out.println(Arrays.toString(value)) 		else 			system.out.println(Arrays.toString(value[0])) 	} 

5、HttpServletResponse

响应行		协议/版本号		状态码 resp.setStatus(); 响应头 	resp.setHeader("key","value")	自定义键值对或修改原来的值 	resp.setContentType("text/html")或resp.setHeader("content-Type","text/html") 	resp.setContentLength(长度)或resp.setHeader("Content-Length",长度) 响应体 	PrintWriter wrier=resp.getWriter() 	向响应体中输入文本字符输出流 	writer.writer(str) 	String info="   " 	info.getBytes().length  返回串的字节长度 	向响应体中输入二进制的字节输出流 	ServletOutputStream outputstream=resp.getOutputStream() 

6、请求转发和响应重定向

注意:如果请求转发和重定向都可以,优先选用重定向 请求转发:HttpServletRequest   获得请求转发器:RequestDispatcher rd=req.getRequestDispatcher("转发路径")   转发动作:rd.forward(rep,resp) 	(1)请求转发时request和response对象会继续传递给下一个资源 	(2)请求中的参数可以继续向下传递 	(3)请求转发是服务器内部行为 	(4)客户端地址栏不变 	(5)目标资源可以是动态的可以是静态的 	(6)可以通过请求转发方式唯一访问WEB-INF下方资源 	(7)目标资源不能是外部资源 响应重定向:HttpServletResponse    resp.setStatus(302)   重定向动作:resp.sendRedirect("地址")或resp.setHeader("location","地址")   	(1)通过HttpServletResponse对象的sendRedirect方法实现   	(2)服务端响应状态码为302与新路径,提示客户端找新资源   	(3)客户端发送多次请求   	(4)重定向可以是Servlet动态或html静态资源   	(5)重定向不可以给到WEB-INF下受保护的资源   	(6)可以重定向到项目以外的外部资源   	(7)地址栏改变 

7、获取请求体中非键值对的数据

BufferReader read=req.getReader()  字符流   JSON ServletInputStream sis=req.getInputStream()  字节流  二进制文件 

相关内容

热门资讯

分享!微信里玩链接炸金花房卡怎... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!拼三张房卡链接在哪弄的/... 微信游戏中心:拼三张房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信拼三张房...
分享!炸金花微信链接房卡/神皇... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信里玩炸金花房卡找谁购... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信群炸金花房卡怎么买/... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信群打炸金花房卡怎么搞... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!炸金花房卡从哪买的/微信... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信炸金花房卡购买方式/... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!想找个微信牛牛房卡在哪买... 微信游戏中心:牛牛房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
分享!微信炸金花房卡如何购买/... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!牛牛房间找谁买房卡/美猴... 微信游戏中心:牛牛房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
分享!微信炸金花怎么卖房卡/牛... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信炸金花链接怎么买房卡... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!炸金花房卡购买联系方式/... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信玩斗牛怎么买房卡/战... 微信游戏中心:斗牛房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信斗牛房卡”...
分享!玩炸金花房卡从哪买的/微... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信群链接炸金花房卡/微... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!炸金花房卡从哪买的/战皇... 微信游戏中心:炸金花房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信炸金花房...
分享!微信拼三张房卡哪里有卖/... 微信游戏中心:拼三张房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信拼三张房...
分享!微信群牛牛房卡怎么买/人... 微信游戏中心:斗牛房卡,添加微信【33699510】,进入游戏中心或相关小程序,搜索“微信斗牛房卡”...