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

关于java程序和http

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

    本文导语:  怎样能在一个java写的socket web client 的程序里的get request加如If-modified-since的条件?又如何用If-modified-since和If-none-modified-since? 另外怎么才能把request header和respond header的信息用java socket client程序显示在dos下。 ...

怎样能在一个java写的socket web client 的程序里的get request加如If-modified-since的条件?又如何用If-modified-since和If-none-modified-since?

另外怎么才能把request header和respond header的信息用java socket client程序显示在dos下。

|

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

---------------
shmilu@sina.com


|
这是《java网络编程》一书中的实例,用于取html的头信息:

import java.net.*;
import java.io.*;
import java.util.*;

public class MIMEHeadersViewer {

  public static void main(String args[]) {

    for (int i=0; i 

    
 
 

您可能感兴趣的文章:

  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行
  • 我用telnet登陆到linux下运行了一个java程序,在关闭了telnet后怎么能让这个java程序继续执行,请高手指点一下
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • 各位大虾,为什么我的java程序能通过编译,但是在用java命令运行程序的时候却老是报错“Exception in thread "main" java.lang.NoClassDe
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • 把java源程序生成应用程序有哪些方法?
  • 学习JAVA程序设计,有没有《WINDOWS程序设计》这样的经典书籍?
  • 我迷惑:做jsp,servlet算不算真正的JAVA程序员?要达到JAVA程序员的标准都要做哪方面的程序?
  • 请问JAVA如何定义常量实行多个JAVA程序共用?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • 请问如何在java程序中关闭其他程序?急!急!!急!!!
  • 如何设置java应用程序的风格,如java风格,和windows风格!
  • 如何通过java程序调用vb程序
  • 运行了2个java程序,怎样区分两个程序?
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?
  • java命名空间javax.xml.ws.http接口httpbinding成员方法: http_binding定义参考
  • 为什么输http://www.china-java.net,会自动改为http://www.china-java.net:8081?
  • java命名空间java.net枚举proxy.type的类成员方法: http定义及介绍
  • Java HTTP 客户端开发包 jcabi-http
  • java命名空间javax.print.attribute.standard类referenceurischemessupported的类成员方法: http定义及介绍
  • Java HTTP客户端 http4j
  • java命名空间java.net类httpurlconnection的类成员方法: http_accepted定义及介绍
  • MM求助:怎样多线程下载http://java.sun.com上的东东? 用http方式,谢谢了.
  • java命名空间java.net类httpurlconnection的类成员方法: http_unauthorized定义及介绍
  • JCreator里为什么找不到java.servlet.* java.servlet.http.* 类 ,求助!
  • java命名空间java.net类httpurlconnection的类成员方法: http_created定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • 简单说说Java SE、Java EE、Java ME三者之间的区别
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 低级问题:.java文件交付用户怎么运行,难道也是DOS下:java xx.java?有没有.exe?
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 我现在刚刚学到JAVA的线程和socket,请问《JAVA 2宝典》和《JAVA核心技术卷2:高级特性》哪本书讲得比较好?


  • 站内导航:


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

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

    浙ICP备11055608号-3