【JSP开发】通过ServletContext实现请求转发

package cn.edu;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//通过ServletContext实现请求转发
public class ServletDemo8 extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		String data="ABCDEFG";

		//把数据带给1.JSP(不能通过Context域,要通过request域)

		this.getServletContext().setAttribute("data", data);
		//获取请求分派器
		RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/1.jsp");
		//将请求转发到指定资源
        rd.forward(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request,response);

	}

}

前台显示页面:1.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP '1.jsp' starting page</title>

  </head>
  <body>
  <h1>
    <font color="red">
    <%
       String value=(String)application.getAttribute("data");
       out.write(value);
    %>
    </font>
    </h1>
  </body>
</html>
时间: 2024-09-21 17:36:21

【JSP开发】通过ServletContext实现请求转发的相关文章

【JSP开发】ServletContext的传值取值

ServletDemo4.java: package cn.edu; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServl

【JSP开发】ServletContext的获取方式

package cn.edu; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.serv

请求转发jsp页面乱码问题的快速解决方法_JSP编程

•在最近的项目中 使用了jsp+servlet来开发项目,但是由于后台的不太熟练 导致了困难重重.所幸 学习能力还可以 一边做一遍学吧. •今天的问题:请求转发后页面的乱码问题 •由于特殊原因--图片上传的form表单无法通过ajax提交 因此必须使用form表单直接提交.但是这样会导致一个问题:前后台交互的时候效果不好.为什么效果不好?这里说的不是功能的问题.作为web开发者,客户的体验我们要放在第一位.因此,我们必须将对客户的信息反馈放在一个比较重要的地位.说白了,就是上传个图片成没成功?我

【JSP开发】response重定向和resquest转发

response重定向 package cn.edu.Response; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSer

jsp请求转发的问题

问题描述 业务流程是这样的(1)客户端A发起一个登录验证请求到应用服务器S1(2)S1把请求转发到第三方服务器S2(3)S2响应返回结果给S1(4)S1通知客户端是否登录成功请问这个用JSP如何实现,一个JSP页面能完成吗?各位牛人,指点下,对这种业务完全没头绪啊,能提供下demo当然更好了,(*^__^*)嘻嘻-- 解决方案 解决方案二:大神呢...............解决方案三:一个JSP当然可以了客户端AJSP页面发送请求,S1服务器拿到数据,与S2服务器通讯并返回一个状态值,S1通过

JSP 请求重定向和请求转发

一.请求重定向:[客户端行为],服务端response.sendRedirect("xx.jsp"),[从本质上讲等于两次请求],前一次的请求对象不会保存,地址栏的URL地址会改变. 二.请求转发:[服务器行为],服务端request.getRequestDispatcher("xx.jsp").forward(request,response);[从本质是一次请求],转发后请求对象会保存,地址栏的URL地址不会改变

问题集锦:Servlets/JSP开发技术问答

js|servlet|问题 为什么GenericServlet在init(ServletConfig config)基础上增加了一个init()方法? init()方法被GenericServlet.init(ServletConfig config)方法调用. init()方法方便了开发人员定制Servlet的初始化,而无须去维护ServletConfig对象的存储工作. 重写GenericServlet.init(ServletConfig config)必须要显示的调用super.init

请求转发和请求包含

1.Servlet 容器 编程中的容器我们可以理解为程序运行时需要的环境,那么Tomcat 就是Servlet 的运行环境,就是一个Servlet 容器.Servlet 容器的作用是负责处理客户请求,当Servlet 容器获取到用户请求后,调用某个Servlet,并把Servlet 的执行结果返回给用户.  Servlet 容器的工作流程: ● 当用户请求某个资源时,Servlet 容器使用ServletRequest 对象将用户的请求信息封装起来,然后调用 java Servlet API 中

Servlets和JSP开发原则

js|servlet Servlet和JSP技术是用Java开发服务器端应用的主要技术,是开发商务应用表示端的标准.Java开发者喜欢使用它有多种原因,其一是对于已经熟悉Java语言的开发者来说这个技术容易学习:其二是Java把"一次编写,到处运行"的理念带入到Web应用中,实现了"一次编写,到处实现".而且更为重要的是,如果遵循一些良好的设计原则的话,就可以把表示和内容相分离,创造出高质量的.可以复用的.易于维护和修改的应用程序.比方说,在HTML文档中如果嵌入过