Servlet----传值、重定向、Session、Cookie

Servlet

servlet是java的一个程序,是在服务器上运行的用来处理客户端业务逻辑的程序
Servlet相关接口
ServletConfig:用于加载Servlet初始化参数的,一个web应该上可以存在多个ServletConfig对象(一个servlet对应一个servletConfig)
使用方法:在创建晚servlet之后创建,在调用init()方法之前创建
得到对象:直接从init中获得
注意:servlet对象的参数只能在当前额servlet中获得
getInitParamter(String name)根据参数名获取参数值
getInitParamterNames()获取所有参数(Enumeration)
getServletContext() 得到Servlet上下文对象
getServletName() 获取servlet名称

ServletContext
ServletContext对象,叫做Servlet的上下文对象,表示当前的一个web应用环境,一个web应用只有一个ServletContext
使用方法:加载web应该时,创建ServletContext对象
得到对象:从Servlt中得到getServletContext方法
getCOntextPath()得到当前对象的路径
getInitParameter()获取当前web应用的所有参数
getInitParameterName()获取所有参数
getAttribute()获取域中对象的值,按照key获取
removeAttribute()删除Application域中对应的值,按照key删除
setAttribute(String name,Object name)设置Application中的域的值,按照key设置
getRealPath(String path)虚拟路径转化为实际路径
getRequestDispatcher(String path)获取转发器,实现转发
getResouceAsStream(String path) 获取一个输入流对象

创建Servlet方法之一-----继承HttpServlet
常用方法:
doGet(HttpServletRequset req,HttpServletResponse resp)响应客户端的get请求
doPost(HttpServletRequest req,HttpServletResponse resp)响应客户端的请求
doDelete(HtpServletRequest req,HttpServletResponse resp)不关注,java没有实现doDelete的http协议方法
service(HttpServletRequest req,HttpServletResponse resp)真正响应了客户端的信息,里面重写了doGet和doPost方法
service(HttpRequest req, httpResponse resp)这个方法是不是我们从servicce接口中过来的


Servlet只有一个实例对象,那么就有可能会出现相同的servlet同时处理多个请求,所以它不是线程安全的,工作效率高,但是线程不安全
1.不要再servlet创建成员,可以创建局部成员
2.可以创建无状态成员
3.可以创建有状态成员,但是只能只读。

ServletResponse功能
1.设置响应头信息
2.发送状态码
3.设置响应正文
4.重定向
response时响应对象,向客户端发送响应正文(响应体),可以使用response的相应流,response提供了两个响应流对象
PrintWrite pw = resp.getWrite() 获取字符流
ServletOutputStream out = resp.OutputStream()获取字节流
注:不能同时使用两个流,会报异常IllegalStateException异常

字符响应流
使用resp.getWriter()需要注意字符编码,设置为resp.setCharecterEncoding(“utf-8”),如果需要客户端来响应数据,需要设置编码resp.setContextType(“text/html;charset=utf-8”)

缓冲区
resp.getWriter()属于PrintWriter类型,

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值