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

在JSP中使用POST方法传递数据时,如何取得数据来源的服务器地址(非客户地址)???

    来源: 互联网  发布时间:2014-12-29

    本文导语:  | 把下面的servlet编译后自己试试看吧。http://localhost/servlet/Info import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Info extends HttpServlet {      ServletConfig config;   public void init(S...


|
把下面的servlet编译后自己试试看吧。http://localhost/servlet/Info

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);}}


|
不知能不能以下方法解决:
1。在你的form提交页设一个session,在form的执行页验证这个session,通过才处理。
2。执行页检查是那一个页面提交来的,好象有一个request.getReferr()方法能得到用户从那一页来到本页,方法名记不大清了,手边没有资料,你查一下文档吧,应该有。从head信息也能够得到,resin,tomacat文档有。
   

|
request.getRemoteHost() //得到用户的IP

|
request.getMethod() //得到用户是用GET还是POST方法

|
http://www.csdn.net/expert/TopicView.asp?id=88445

|
request.getServerName()
request.getServerPort()

|
request.getRemoteHost() //得到用户的IP
这个不就是POST的叶面地址。

|
关注

|
InetAddress.getLocalHost().getHostAddress()
返回当前服务器的地址

    
 
 

您可能感兴趣的文章:

  • JSP电子书?地址?
  • 如何用JSP实现获悉浏览者的IP地址的功能?
  • 如何用JSP取得两个网卡中其中之一的IP地址!
  • JSP 里面 怎么取得用户 的IP地址???有没有什么函数可以做到?
  • 在jsp中怎么得到本页面的网络访问地址?急,在线给分。
  • 同志们,有没有关于java和jsp的新闻组,给几个地址吧。大恩不敢言谢!:-)
  • 150分求够jsp高级编程(完整版,非前五章的)能下载地址!
  • 如何在Jsp中得到當前網站的IP地址或當前網址的域名?
  • jsp怎么获得网页地址?
  • 你们一般用什么作jsp编辑器,请推荐一个下载地址给小弟,谢谢
  • JSP或Servlet如何获得客户端的IP地址?
  • 用jsp那个函数可以得到用户的IP地址,急救。谢谢!!!!!
  • Oracle的ip地址改了,怎么jsp连不上了?
  • 我想找JB的下载地址以及运行开发JSP的一些环境,多谢了!
  • 请问如何在c程序里调用一段http地址,比如http://test/reload.jsp
  • jsp重定向地址栏不改变的实例
  • 问一个简单问题,A,B是两个JSP,A调用B,如何在B中得到A的地址?在线等●●●
  • JSp的mySmartUpload组件上传文件后能不能取到客户机的地址?多谢 急
  • JSP 获取真实IP地址的代码
  • jsp地址栏传中文显示乱码解决方法分享
  • jsp显示server数据库的内容,如何实现定时更新jsp页面
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 怎样用JSP将从树状存储结构中读取的数据在JSP页面上生成一个树状目录
  • 怎样利用JAVABEAN将JSP页面提交的数据保存到数据库,请给代码好吗?谢谢!
  • 采用Jsp从数据库中取得数据,来生成XML文件,进行存储,应该如何做?
  • ?100分求jsp树的原代码 最好是jsp+js+xml 执行效率要高。(从数据库中动态生成的)(散分)
  • 为什么JSP读取Access数据时,不能完全显示完整的数据?
  • 100分求jsp树的原代码 最好是jsp+js+xml 执行效率要高。(从数据库中动态生成的)在线
  • 如何使用jsp显示数据库中的数据?
  • jsp取数据库中数据的中文问题
  • 求jsp树的原代码,一定要是jsp+js+xml 执行效率要高。(从数据库中动态生成的)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • 在线求救!!!如果在JSP页面之间传递多个参数?
  • <jsp:forward page="...">中如何传递多个参数给另一个JSP页面,格式如何写?
  • 在JSP中如何将Form进行传递
  • 请教————由servlet如何传递参数给JSP页面???
  • jsp参数传递的问题求解??
  • jsp 如何与javabean传递变量?
  • 两个JSP页面如何传递变量啊?(如何通信)
  • JSP中URL的乱码问题!(传递中文)
  • 高分求救!JSP的参数传递问题?
  • JSP页面之间怎样传递参数?
  • JSP页面中文传递参数使用escape编码
  • 如何在jsp和servlet中传递bean?????
  • Jsp中Java和JavaScript之间如何传递变量?
  • servlet如何向jsp传递参数?
  • 简单问题:response.sendRedirect(page.jsp?);传递多个参数如何表示?
  • jsp中URL传递中文参数的处理方法
  • 各位虾帮忙了----在applet中如何将一个xml传递到下一个jsp页面中呢
  • 请教高手:Jsp在页面间如何传递“数组”?
  • 请教从SERVLET传递参数到JSP中的中文问题。
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 初学jsp,一个html调用一个jsp,这个jsp调用一个javaBean,已编译成类,最后如何部署(用j2sdkee)?
  • 我要学jsp,已经下载了j2ee1.4,需要一个支持jsp引擎的WEB服务器或jsp引擎!!(急,马上给分)


  • 站内导航:


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

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

    浙ICP备11055608号-3