⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpheader.java

📁 RFC 1945 Http1.0协议实现。对协议进行了完整面向对象设计
💻 JAVA
字号:
/**
 * 
 */
package edu.sysu.http.impl;

import java.util.Date;
import java.util.Calendar;

import edu.sysu.http.util.HttpGrammarException;
import edu.sysu.http.util.HttpRegex;

/**
 * @author Administrator
 * 
 *         header = field-name ":" field-value
 */
public class HttpHeader {

	protected String fieldname;
	protected String fieldvalue;

	protected HttpRegex regexName = new HttpRegex();
	protected HttpRegex regexValue = new HttpRegex();

	/**
	 * 
	 */
	public HttpHeader() {
		// TODO Auto-generated constructor stub
		this.regexName.SetPattern(".+");
		this.regexValue.SetPattern(".+");
	}

	public HttpHeader(String name, String value) throws HttpGrammarException {
		this();
		this.setFieldname(name);
		this.setFieldvalue(value);
	}

	/**
	 * @param args
	 */
	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Date date = (Date) Calendar.getInstance().getTime();
		try {
			HttpHeader header = new HttpHeader("Date", date.toGMTString());
			System.out.println(header.toString());
		} catch (HttpGrammarException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * @param fieldname
	 *            the fieldname to set
	 */
	public void setFieldname(String fieldname) throws HttpGrammarException {
		if (this.regexName.Match(fieldname))
			this.fieldname = fieldname;
		else
			new HttpGrammarException("Header Field-name invalid.");
	}

	/**
	 * @return the fieldname
	 */
	public String getFieldname() {
		return fieldname;
	}

	/**
	 * @param fieldvalue
	 *            the fieldvalue to set
	 */
	public void setFieldvalue(String fieldvalue) throws HttpGrammarException {
		if (this.regexValue.Match(fieldvalue))
			this.fieldvalue = fieldvalue;
		else
			throw new HttpGrammarException("Header Field-value invalid");
	}

	/**
	 * @return the fieldvalue
	 */
	public String getFieldvalue() {
		return fieldvalue;
	}

	public String toString() {
		return this.fieldname + ":" + HttpRules.SP + this.fieldvalue
				+ HttpRules.CR + HttpRules.LF;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -