JSP规范

1 - JSP规范介绍

1)来自于JavaEE规范中一种

2)JSP规范制定了如何开发JSP文件代替响应对象将处理结果写入到响应体的开发流程

3)JSP规范制定Http服务器应该如何调用管理JSP文件

4)JSP文件在执行时,自动将文件所有内容写入到响应体,从而节省书写out.print

优势:

①JSP文件在互谅网通信过程,是响应对象代替品

②降低将处理结果写入到响应体的开发工作量降低处理结果维护难度

③在JSP文件开发时,可以直接将处理结果写入到JSP文件不需要手写out.print命令,在Http服务器调用JSP文件时,根据JSP规范要求自动的将JSP文件书写的所有内容通过输出流写入到响应体

2 - 响应对象存在的弊端

1)适合将数据量较少的处理结果写入到响应体

2)如果处理数量过多,使用响应对象增加开发难度

3 - Servlet 与 JSP分工

Servlet:负责处理业务并得到处理结果 --- 大厨师

JSP:不负责处理业务,主要任务将Servlet中处理结果写入到响应体 --- 传菜员

ServletJSP之间的调用关系:Servlet工作完毕后,一般通过请求转发方式向Tomcat申请调用JSP

4 - Servlet与JSP之间如何实现数据共享

Servlet将处理结果添加到【请求作用域对象(ServletContex)】

JSP文件在运行时从【请求作用域对象(ServletContex)】得到处理结果

代码示例:

在Servlet接口实现类下(OneServlet.java)

  Person p1 = new Person(1,"a");

  Person p2 = new Person(2,"b");

  List<Person> personList = new ArrayList<>();

  personList.add(p1);

  personList.add(p2);

  // 将处理结果添加到请求作用域对象

  request.setAttribute("key",personList);

  // 通过请求转发方案,向Tomcat申请调用user_show.jsp,同时将request与response通过Tomcat交给user_show.jsp使用

  request.getRequestDispatcher("/user_show.jsp").forward(request,response);

5 - Http服务器调用JSP文件步骤(面试题)

1.Http服务器将JSP文件内容【编辑】为一个Servlet接口实现类(.java)

2.Http服务器将Servlet接口实现类【编译】为class文件(.class)

3.Http服务器负责创建这个class的实例对象,这个实例对象就是Servlet实例对象

4.Http服务器通过Servlet实例对象调用jsp_service方法,将JSP文件内容写入到响应体

Http服务器【编辑】与【编译】JSP文件位置:

C:\Users\[登录Windows系统用户角色名]\.IntelliJIdea2019.3\system\tomcat\[网站工作空间]\work\Catalina\localhost\[网站别名]\org\apache\jsp

 

posted @ 2020-07-31 16:31  赖正华  阅读(258)  评论(0编辑  收藏  举报