回顾:Servlet、Servlet获取参数

一、Servlet返回数据到浏览器
    直接通过输出流
  中文乱码问题,需要设置响应头Content-Type
    如果输出的是纯文本,设置为 text/plain;charset=UTF-8
    如输出的是HTML,设置为 text/html;charset=UTF-8
    如果输出的是Json格式的字符串,设置为 application/json;charset=UTF-8
    
在Java中返回JSON数据需要添加第三方的Jar依赖。jsonlib jackson fastjson gson
    

补充:IDEA项目热加载

二、转发和重定向:
 转发:请求处理器(ServletA)将请求交给另一个处理器处理(ServletB),再讲结果返回的过程。
   写法:request.getRequestDispatcher(目标URL地址).forward(request, response)
   特点:
       转发是服务器行为;
       转发是浏览器只做了一次访问请求;
       转发浏览器地址不变;
       转发两次跳转之间传输的信息不会丢失,所以可以通过request进行数据的传递;
       转发只能将请求转发给同一个web应用中的组件。

 重定向:客户端与服务器多次进行请求与响应的过程,服务器并为对客户端发出的请求做出相应处理,而是告诉用户需要发送哪几个请求。
   写法:response.sendRedirect(目标URL地址)
   特点:
       重定向是客户端(浏览器)行为;
       重定向是浏览器向服务器发出不止一次请求的过程;
       重定向浏览器地址改变;
       重定向两次跳转之间传输的信息会丢失;
       重定向可以指向任何的资源,包括当前应用程序中的其他资源,同一个站点上的其他应用程序中的资源,甚至其他站点的资源。
       
(四)、Servlet的生命周期
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法(doget doPost等)并将请求和响应对象作为参数传递进去。
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

 servlet的生命周期:
 实例化 ------------→ Servlet 容器创建 Servlet 的实例
 ↓
 初始化 ------------→ 调用 init() 方法
 ↓
 服 务 ------------→ 调用 service() 方法(doGet()或者doPost())
 ↓
 销 毁 ------------→ 调用 destroy() 方法
 ↓
 不可用------------→ 销毁实例并标记为垃圾收集


五、JSP
(一)、JSP是什么
JSP是 Java服务器页面 (Java Server Page,JSP) 的简称;扩展名 .jsp;
是一种建立在Servlet规范提供的功能之上的动态网页技术,允许在网页文件中嵌入java代码和jsp标记。

本质是一种特殊的Servlet

(二)、JSP的执行过程
 (1)Jsp文件在用户第一次请求时,会被编译成Servlet,然后由这个Servlet处理用户的请求,所以jsp可以看成是运行时的Servlet
 (2)Jsp容器(也就是Servlet容器)管理jsp页面声明周期分为两个阶段.即转换阶段和执行阶段
 (3)当有一个对jsp页面的请求到来时,jsp容器检查jsp页面的语法是否正确,将jsp页面转换为Servlet源文件,然后调用javac命令编译Servlet源文件生成字节码文件.这是转换阶段
 (4)Servlet容器加载转换后的Servlet类,这是执行阶段


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值