Servlet交互与JSP

主要内容介绍

Web页面跳转和信息共享

.Servlet作用域对象

.动态网页:JSP

请求转发(forward

需求AServlet中没有做完的事情跳转到BServlet中继续执行

语法req.getRequestDispatcher(String path).forward(ServletRequest req,ServletResponse resp);

getRequestDispatcher  获得转发器

path : 跳转到哪里?

特点

  1. 转发过程中浏览器地址栏路径没变
  2. 只发了一个请求
  3. 共享同一个请求(同一个请求对象),在请求中共享数据;
  4. 响应由最后一个决定

   

  1. 只能够访问当前应用中的资源,不能够跨域跳转(老师我想跳转到源代码官网去看视频...

可以使用相对路径,不推荐

  1. 可以访问WEB-INF中的资源
  2. html页面跳转到Servlet需要先加上server.xml中的path(如果有),Servlet中的跳转是不需要加的!
  3. 疑问: 既然可以访问WEB-INF中的资源了,那怎么之前又说放在里安全呢?

a) 程序没有提供的路径就不能够访问;

b) 在跳转之前可以做权限判断

   

 URL重定向(redirect

需求:AServlet中没有做完的事情跳转到BServlet中继续执行

语法:resp.sendRedirect(String path);

特点: 测试下面每个点请留意浏览器地址栏!!!

  1. 浏览器中地址会变,相当于访问了两次

注意: path中应该加上server.xml中的path的值,如果有的话

  1. 发送了两个请求
  2. 因为是不同的请求,所以不能够共享请求中的数据
  3. 最终的响应是由最后一个Servlet决定
  4. 可以跨域访问资源(尝试访问itsource.cn
  1. 不能够访问WEB-INF中的资源(思考为什么?

  JSP原理分析

  1. 注释
  2. 输出数据到页面

<%=hello%>

  1. JSP中的Java脚本片段

<%

语句1

语句2

%>

  1. 定义类的成员

<%!

String str;

void testMethod(){}

%>

猜你喜欢

转载自www.cnblogs.com/wzscom/p/10316085.html
今日推荐