当前位置:  技术问答>java相关

请问 JSP 中如何取得当前页面的 URL ?

    来源: 互联网  发布时间:2015-02-26

    本文导语:  比如 www.csdn.net/mypage.jsp?a=xx&b=xx, 如何在mypage.jsp中取得这个完整的 url ? | String currenturl = request.getRequestURI()+(request.getQueryString()==null?"":("?"+request.getQueryString())); | 在jsp中HttpR...

比如 www.csdn.net/mypage.jsp?a=xx&b=xx,

如何在mypage.jsp中取得这个完整的 url ?

|
String currenturl = request.getRequestURI()+(request.getQueryString()==null?"":("?"+request.getQueryString()));

|
在jsp中HttpRequest  request是内置对象。你可以直接用
String path=request.getServeltPath();(或其他request的方法)

|
request.getRequestURI(); 

|
行这个servlet你就知道了。
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Info extends HttpServlet {
  
  ServletConfig config;

  public void init(ServletConfig tconfig) throws ServletException {
    super.init(tconfig);
    config=tconfig;}

  public String getServletInfo() {
  return "Info version 1.9: a demo and diagnostic servlet from vqSoft";}

  private void pp(PrintWriter os, String name, String value) {
  os.print(""+name+": ");
  if (value==null)
      os.print("none");
    else
      os.print(value);
    os.println("
");}
  
  private void pp(PrintWriter os, String name, int value) {
    pp(os, name, String.valueOf(value));}

  public void dostuff(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException {
   log("invoked");
    rep.setContentType("text/html");
  PrintWriter os=rep.getWriter();
    os.println("");
  os.println("Info servlet");
  os.println("");
  os.println("");
    os.println("");
    os.println("Info servlet");
    os.println("");
    os.println("

This page was generated by Info version 1.9, a demo and diagnostic servlet supplied with vqServer. ");
    os.println("Info lists its initialisation parameters, information about the http request which invoked it and the http request parameters passed to it.

");
    os.println("");
    
    os.println("Servlet initialisation parameters");
    Enumeration e=config.getInitParameterNames();
    if (!e.hasMoreElements())
      os.println("None!");
    else while (e.hasMoreElements()) {
      String name=(String) e.nextElement();
      String value=config.getInitParameter(name);
      pp(os, name, value);}
    os.println("");
    
    os.println("Request parameters");
    pp(os, "Request method", req.getMethod());
  pp(os, "Request URI", req.getRequestURI());
  pp(os, "Request protocol", req.getProtocol());
    pp(os, "Servlet path", req.getServletPath());
  pp(os, "Path info", req.getPathInfo());
  pp(os, "Path translated", req.getPathTranslated());
  pp(os, "Query string", req.getQueryString());
  pp(os, "Content length", req.getContentLength());
  pp(os, "Content type", req.getContentType());
  pp(os, "Server name", req.getServerName());
  pp(os, "Server port", req.getServerPort());
  pp(os, "Remote user", req.getRemoteUser());
    pp(os, "Remote address", req.getRemoteAddr());
  pp(os, "Remote host", req.getRemoteHost());
  pp(os, "Authorization scheme", req.getAuthType());
    os.println("");
    
    os.println("Request headers");
    e=req.getHeaderNames();
    if (!e.hasMoreElements())
      os.println("None!");
    else while (e.hasMoreElements()) {
      String name=(String) e.nextElement();
      String value=(String) req.getHeader(name);
      pp(os, name, value);}
    os.println("");
    
    os.println("Servlet parameters");
    e=req.getParameterNames();
    if (!e.hasMoreElements())
      os.println("None!");
    else while (e.hasMoreElements()) {
      String name=(String) e.nextElement();
      String value=req.getParameter(name);
      StringBuffer tbuffer=new StringBuffer();
      pp(os, name, value);}
    os.println("");
    
    os.println("Other servlets (by name)");
    ServletContext tcontext=config.getServletContext();
    e=tcontext.getServletNames();
    if (!e.hasMoreElements())
      os.println("None!");
    else while (e.hasMoreElements()) {
      os.println((String) e.nextElement()+"
");}
    os.println("");
    
    os.println("Other servlets");
    e=tcontext.getServlets();
    if (!e.hasMoreElements())
      os.println("None!");
    else while (e.hasMoreElements()) {
      Servlet tservlet=(Servlet) e.nextElement();
      os.println(tservlet.getServletInfo()+"
");}
    os.println("");
    
    os.println("

Info version 1.9. Info and vqServer are copyright © 1997-99 Steve Shering and vqSoft.");
    os.println("");    
    os.println("");
    os.println("");
    os.println("Home page");
    os.println("");
    os.println("");
    os.println("");
    os.flush();}

  public void doGet(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException {
    dostuff(req, rep);}

  public void doPost(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException {
    dostuff(req, rep);}}


|
getQueryString 
 public abstract String getQueryString()

Gets any query string that is part of the HTTP request URI. Same as the CGI variable QUERY_STRING. 

Returns: 
query string that is part of this request's URI, or null if it contains no query string 

    
 
 

您可能感兴趣的文章:

  • 请问在solaris下可以取得一个线程的ID号吗?
  • 请问哪个函数可以取得微妙(或毫秒)的时间值?
  • 请问?如何取得系统时间?
  • 请问linux系统下,用什么函数可以取得hostname和username?
  • 请问用什么方法取得表中的记录数?是getRowCount么?
  • 请问在C++/C中怎么取得LINUX当前的环境变量
  • 请问如何在jsp中取得表的最后一行?
  • 请问如何取得提交表单的file和textarea字段?
  • 请问在java中如何取得当前工作目录?
  • 请问取得服务器绝对路径的问题
  • 请问什么c函数能取得当前用户名?
  • 请问取得resultset后,如何得出记录集的总数
  • 请问如何在jsp中取得当前日期的前十天?
  • 请问怎么样在dos 下面有哪一个命令能取得时间放到批处理里用.
  • 请问linux下什么函数能取得系统当前时间(最好精确到微妙,实在不行毫秒也行)?
  • 请教:请问shell取得其中的version如何写?
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • 在Linux C中,如何取得当前输入法的中英文状态?请问有相关的系统函数么?如何使用?
  • 请问在jsp中如何取得一个日期,并将其格式化为2001-06-23 11:46:27 的形式?多谢了!
  • 请问:在Linux的C编程中,如何取得模块路径?
  • 请问怎么样能自动定向到另一个页面并且给那个页面传参数呀?
  • 请问在JSP页面中如何打印该页面中<body>标记符中的内容?还有如何获得一个到打印机的输出流?谢谢先
  • 请问各位大虾,怎么实现三层页面之间的参数传递?
  • 请问如何在Applet中关闭其所在的页面?
  • 请问要得到远程访问站点的ip地址以及所在的页面,用request的什么方法?
  • 请问:在servlet中如何新开一个页面?
  • 请问如何在一个JSP页面调用一个exe程序呢?谢谢!
  • 请问如何在web页面调用word,并将所有的所有表单参数调的word中排版、打印。
  • 请问如何在页面显示 .swf图片文件,谢谢!
  • 请问大侠,有什么方法能对JSP程序页面自动刷新。
  • 请问最好用的,用来调试JSP页面的工具是什么?能否介绍一下呀?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问JSP中的<jsp:forward page=""/>执行后,后边的操作还会执行吗?
  • 请问,windows2000如何支持jsp??? - 如果你是JSP高手,希望你可以帮忙!
  • 请问在jsp中调用外部的类,与jsp调用javabean有何区别??
  • 请问在jsp中如何实现相对路径?我在jsp文件中指定相对路径的文件,可是程序找不到!
  • 请问做jsp和servlet的朋友,有没有工具可以提供jsp,servlet单布编译执行的
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 请问:javabean里可不可以用JSP里的变量,可不可以用JSP里的组件。
  • 最近有jsp的一本书,好像叫《JSP开发动态网站》,请问确切名称、出版社、价格、作者(网上查不到)
  • 一个JSP问题:请问如何得到document.referrer内容?我想知道连到A.jsp页面的用户从何处链接来得。
  • 博客 iis7站长之家
  • 请问jsp可以调用EJB吗?
  • 请问一下哪儿有经典的JSP教程!
  • 请问,winXP没有了内建的java虚拟机,是不是就意味着winXP下面不可以浏览JSP网页了???请知道的告诉我,谢谢,我在想还有没有必要学习JSP.......
  • 我是JSP的初学者。谢谢你们的指点。请问。。。。。
  • 请问JSP如何能够执行呀?我是新人!
  • 请问哪里可以申请到支持JSP的空间?
  • 请问linux下的好的jsp开发平台?
  • 请问我在SERVLET中如何能知道调用它的JSP的名字呢?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3