JSP
梳理回顾
前端开发:HTML、CSS、JS(JavaScript)
企业中前端工程师:使用前端框架(BootStrap/easyUI/VUE/Angular)开发。
后端开发:JavaSE、JSP、JavaWeb(良好的稳定性、健壮性优于其它语言。企业级应用首选之一)
企业中的后端工程师:使用后端框架(SpringMVC/Struts2、Spring、myBatis)开发。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uq90sjrE-1574677050898)(\imgs\全栈开发01.jpg)]
“全栈工程师”
C语言:工业控制、嵌入式设备(电磁炉、吸尘器、微波炉。。。)。
jsp
JSP项目是在后台开发框架成熟前使用较多的一种JavaWeb技术,后期会逐渐过度到后台框架。
jvm只能处理java编译的class文件。
JSP和后台框架
核心技术均为Servlet
Servlet在jdk中的包为:javax.servlet.http.HttpServlet。
Servlet
-
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方法用于生成对客户端的响应。 -
联系:
- 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方式:暗文传参(地址栏不显示)、传输数据较大、
页面跳转方式
页面跳转的方式分类:
- 转发:foward(地址栏URL不变)
request.getRequestDispatcher("hello.jsp").forward(request,response);//页面转发
- 重定向:redirect(地址栏URL变化)
response.sendRedirect("资源的URL");
- 两种跳转方式异同:
-
转发使用的是getRequestDispatcher()方法;重定向使用的是sendRedirect();
-
转发:浏览器URL的地址栏不变。重定向:浏览器URL的地址栏改变;
-
转发是服务器行为,重定向是客户端行为;
-
转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求;
-
转发2次跳转之间传输的信息不会丢失,重定向2次跳转之间传输的信息会丢失(request范围)。