jsp
1.JSP项目简介:
JSP项目是在后台开发框架成熟前使用较多的一种JavaWeb技术,后期会逐渐过度到后台框架。 jvm只能处理java编译的class文件。
JSP和后台框架
核心技术均为Servlet Servlet在jdk中的包为:javax.servlet.http.HttpServlet。
Servlet
1.jsp和servlet的区别和联系:
1). jsp经编译后就变成了Servlet. (JSP的本质就是Servlet,JVM只能识别java 的类(.class),不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2).jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3).Servlet中没有内置对象,Jsp中的内置对象都是必须通过
HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到. Jsp是Servlet的一种简化, 使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。 而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
2.联系:
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于:
Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。(jsp里面是有html标签, servlet没有html标签)
而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。(JSP=java类+HTML)
JSP侧重于视图,Servlet主要用于控制逻辑。(JSP不能脱离Servlet,但Servelet可独立存在)
Servlet更多的是类似于一个Controller,用来做控制。
servlet类中的方法
servlet中的方法
doGet()方法:用get方式传输网络数据 get方式:明文传参(地址栏显示)、传输数据较小、
doPost()方法:用post方式传输网络数据 post方式:暗文传参(地址栏不显示)、传输数据较大、
3.页面跳转方式
页面跳转的方式分类:
1).转发:foward(地址栏URL不变)
2).重定向:redirect(地址栏URL变化)
3).两种跳转方式异同:
>转发使用的是`getRequestDispatcher()`方法;
>重定向使用的是`sendRedirect()`;
* **转发:浏览器URL的地址栏不变。**
* **重定向:浏览器URL的地址栏改变;**
* **转发是服务器行为,重定向是客户端行为;**
* **转发是浏览器只做了一次访问请求。**
* **重定向是浏览器做了至少两次的访问请求;**
转发2次跳转之间传输的信息不会丢失,重定向2次跳转之间传输的信息会丢失(request范围)。