allen
          專注于java ee技術(shù),包括struts,jsf,webwork,spring,hibernate,ibatis
          posts - 7,  comments - 9,  trackbacks - 0


          $_SERVER['PHP_SELF'] #當(dāng)前正在執(zhí)行腳本的文件名,與 document root相關(guān)。
          $_SERVER['argv'] #傳遞給該腳本的參數(shù)。
          $_SERVER['argc'] #包含傳遞給程序的命令行參數(shù)的個(gè)數(shù)(如果運(yùn)行在命令行模式)。
          $_SERVER['GATEWAY_INTERFACE'] #服務(wù)器使用的 CGI 規(guī)范的版本。例如,“CGI/1.1”。
          $_SERVER['SERVER_NAME'] #當(dāng)前運(yùn)行腳本所在服務(wù)器主機(jī)的名稱。
          $_SERVER['SERVER_SOFTWARE'] #服務(wù)器標(biāo)識(shí)的字串,在響應(yīng)請(qǐng)求時(shí)的頭部中給出。
          $_SERVER['SERVER_PROTOCOL'] #請(qǐng)求頁(yè)面時(shí)通信協(xié)議的名稱和版本。例如,“HTTP/1.0”。
          $_SERVER['REQUEST_METHOD'] #訪問(wèn)頁(yè)面時(shí)的請(qǐng)求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
          $_SERVER['QUERY_STRING'] #查詢(query)的字符串。
          $_SERVER['DOCUMENT_ROOT'] #當(dāng)前運(yùn)行腳本所在的文檔根目錄。在服務(wù)器配置文件中定義。
          $_SERVER['HTTP_ACCEPT'] #當(dāng)前請(qǐng)求的 Accept: 頭部的內(nèi)容。
          $_SERVER['HTTP_ACCEPT_CHARSET'] #當(dāng)前請(qǐng)求的 Accept-Charset: 頭部的內(nèi)容。例如:“iso-8859-1,*,utf-8”。
          $_SERVER['HTTP_ACCEPT_ENCODING'] #當(dāng)前請(qǐng)求的 Accept-Encoding: 頭部的內(nèi)容。例如:“gzip”。
          $_SERVER['HTTP_ACCEPT_LANGUAGE']#當(dāng)前請(qǐng)求的 Accept-Language: 頭部的內(nèi)容。例如:“en”。
          $_SERVER['HTTP_CONNECTION'] #當(dāng)前請(qǐng)求的 Connection: 頭部的內(nèi)容。例如:“Keep-Alive”。
          $_SERVER['HTTP_HOST'] #當(dāng)前請(qǐng)求的 Host: 頭部的內(nèi)容。
          $_SERVER['HTTP_REFERER'] #鏈接到當(dāng)前頁(yè)面的前一頁(yè)面的 URL 地址。
          $_SERVER['HTTP_USER_AGENT'] #當(dāng)前請(qǐng)求的 User_Agent: 頭部的內(nèi)容。
          $_SERVER['HTTPS'] — 如果通過(guò)https訪問(wèn),則被設(shè)為一個(gè)非空的值(on),否則返回off
          $_SERVER['REMOTE_ADDR'] #正在瀏覽當(dāng)前頁(yè)面用戶的 IP 地址。
          $_SERVER['REMOTE_HOST'] #正在瀏覽當(dāng)前頁(yè)面用戶的主機(jī)名。
          $_SERVER['REMOTE_PORT'] #用戶連接到服務(wù)器時(shí)所使用的端口。
          $_SERVER['SCRIPT_FILENAME'] #當(dāng)前執(zhí)行腳本的絕對(duì)路徑名。
          $_SERVER['SERVER_ADMIN'] #管理員信息
          $_SERVER['SERVER_PORT'] #服務(wù)器所使用的端口
          $_SERVER['SERVER_SIGNATURE'] #包含服務(wù)器版本和虛擬主機(jī)名的字符串。
          $_SERVER['PATH_TRANSLATED'] #當(dāng)前腳本所在文件系統(tǒng)(不是文檔根目錄)的基本路徑。
          $_SERVER['SCRIPT_NAME'] #包含當(dāng)前腳本的路徑。這在頁(yè)面需要指向自己時(shí)非常有用。
          $_SERVER['REQUEST_URI'] #訪問(wèn)此頁(yè)面所需的 URI。例如,“/index.html”。
          $_SERVER['PHP_AUTH_USER'] #當(dāng) PHP 運(yùn)行在 Apache 模塊方式下,并且正在使用 HTTP 認(rèn)證功能,這個(gè)變量便是用戶輸入的用戶名。
          $_SERVER['PHP_AUTH_PW'] #當(dāng) PHP 運(yùn)行在 Apache 模塊方式下,并且正在使用 HTTP 認(rèn)證功能,這個(gè)變量便是用戶輸入的密碼。
          $_SERVER['AUTH_TYPE'] #當(dāng) PHP 運(yùn)行在 Apache 模塊方式下,并且正在使用 HTTP 認(rèn)證功能,這個(gè)變量便是認(rèn)證的類型。
          posted @ 2012-02-01 12:00 robbin163 閱讀(198) | 評(píng)論 (0)編輯 收藏


          import java.awt.Color;
          import java.awt.Font;
          import java.awt.Graphics;
          import java.awt.image.BufferedImage;
          import java.io.IOException;
          import java.io.PrintWriter;
          import java.util.Random;

          import javax.imageio.ImageIO;
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          public class RadomCodeServlet extends HttpServlet
          {

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


          ?public void doPost(HttpServletRequest request, HttpServletResponse response)
          ???throws ServletException, IOException {
          ??//設(shè)置頁(yè)面不緩存
          ??response.setHeader("Pragma","No-cache");
          ??response.setHeader("Cache-Control","no-cache");
          ??response.setDateHeader("Expires", 0);
          ??//在內(nèi)存中創(chuàng)建圖象
          ??int width=60, height=20;
          ??BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

          ??//獲取圖形上下文
          ??Graphics g = image.getGraphics();

          ??//生成隨機(jī)類
          ??Random random = new Random();

          ??//設(shè)定背景色
          ??g.setColor(getRandColor(200,250));
          ??g.fillRect(0, 0, width, height);

          ??//設(shè)定字體
          ??g.setFont(new Font("Times New Roman",Font.PLAIN,18));
          ??
          ??//隨機(jī)產(chǎn)生155條干擾線,使圖象中的認(rèn)證碼不易被其它程序探測(cè)到
          ??g.setColor(getRandColor(160,200));
          ??for (int i=0;i<155;i++)
          ??{
          ????????? int x = random.nextInt(width);
          ????????? int y = random.nextInt(height);
          ????????? int xl = random.nextInt(12);
          ????????? int yl = random.nextInt(12);
          ????????? g.drawLine(x,y,x+xl,y+yl);
          ??}
          ??
          ??//取隨機(jī)產(chǎn)生的認(rèn)證碼(4位數(shù)字)
          ??String sRand="";
          ??for (int i=0;i<4;i++)
          ??{
          ????? String rand=String.valueOf(random.nextInt(10));
          ????? sRand+=rand;
          ????? // 將認(rèn)證碼顯示到圖象中
          ????? g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//調(diào)用函數(shù)出來(lái)的顏色相同,可能是因?yàn)榉N子太接近,所以只能直接生成
          ????? g.drawString(rand,13*i+6,16);
          ??}

          ??//將認(rèn)證碼存入SESSION
          ??request.getSession().setAttribute("rand",sRand);


          ??//圖象生效
          ??g.dispose();

          ??//輸出圖象到頁(yè)面
          ??ImageIO.write(image, "JPEG", response.getOutputStream());??
          ?}
          ?
          ?//給定范圍獲得隨機(jī)顏色
          ?private Color getRandColor(int fc,int bc)
          ?{
          ??????? Random random = new Random();
          ??????? if(fc>255) fc=255;
          ??????? if(bc>255) bc=255;
          ??????? int r=fc+random.nextInt(bc-fc);
          ??????? int g=fc+random.nextInt(bc-fc);
          ??????? int b=fc+random.nextInt(bc-fc);
          ??????? return new Color(r,g,b);
          ??? }
          ?調(diào)用:
          ?<td height="25">
          ????????????<div align="right">
          ?????????????<font color="#000000">驗(yàn)證碼:</font>
          ????????????</div>
          ???????????</td>
          ???????????<td align="left">
          ????????????<input type="text" name="randCode" size=10></input>
          ????????????<img style="cursor:hand" name="validatecode"
          ?????????????src=" servlet/RadomCodeServlet" height="17" align="middle"
          ?????????????onclick="document.validatecode.src=' servlet/RadomCodeServlet'">
          ???????????</td>

          posted @ 2006-12-08 13:51 robbin163 閱讀(248) | 評(píng)論 (0)編輯 收藏
          MD5

          import java.security.*;


          public class MD5
          {
          ? private static MD5 md5 = null;
          ? private MD5(){}
          ? public static MD5 getInstance()
          ? {
          ??? if (md5 == null)
          ??? {
          ????? md5 = new MD5();
          ??? }
          ??? return md5;
          ? }

          ? /**
          ?? * Description:encrypt the String by "MD5"
          ?? * @param str String
          ?? * @return String
          ?? */
          ? public String calcMD5(String str)
          ? {
          ??? try
          ??? {
          ????? MessageDigest alga = MessageDigest.getInstance("MD5");
          ????? alga.update(str.getBytes());
          ????? byte[] digesta = alga.digest();
          ????? return byte2hex(digesta);
          ??? }
          ??? catch (Exception e)
          ??? {
          ????? //System.out.println(e.getMessage());
          ????? return null;
          ??? }
          ? }

          ? private String byte2hex(byte[] b)
          ? {
          ??? String hs = "";
          ??? String stmp = "";
          ??? for (int n = 0; n < b.length; n++)
          ??? {
          ????? stmp = (Integer.toHexString(b[n] & 0XFF));
          ????? if (stmp.length() == 1)
          ????? {
          ??????? hs = hs + "0" + stmp;
          ????? }
          ????? else
          ????? {
          ??????? hs = hs + stmp;
          ????? }
          ????? if (n < b.length - 1)
          ????? {
          ??????? hs = hs + "";
          ????? }
          ??? }
          ??? return hs;
          ? }
          }

          posted @ 2006-12-08 13:49 robbin163 閱讀(363) | 評(píng)論 (1)編輯 收藏

          package com.jama.credentials;

          import org.jasig.cas.authentication.principal.Credentials;

          public class LoginInfoCredentials
          ??? implements Credentials
          {

          ??? private String account;
          ??? private String password;
          ??? private String randCode;

          ??? public LoginInfoCredentials()
          ??? {
          ??? }

          ??? public String getAccount()
          ??? {
          ??????? return account;
          ??? }

          ??? public void setAccount(String account)
          ??? {
          ??????? this.account = account;
          ??? }

          ??? public String getPassword()
          ??? {
          ??????? return password;
          ??? }

          ??? public void setPassword(String password)
          ??? {
          ??????? this.password = password;
          ??? }

          ??? public String getRandCode()
          ??? {
          ??????? return randCode;
          ??? }

          ??? public void setRandCode(String randCode)
          ??? {
          ??????? this.randCode = randCode;
          ??? }
          }


          package com.jama.credentials;

          import org.apache.commons.logging.Log;
          import org.apache.commons.logging.LogFactory;
          import org.jasig.cas.authentication.principal.*;

          // Referenced classes of package com.jama.credentials:
          //??????????? LoginInfoCredentials

          public class LoginInfoToPrincipalResolver
          ??? implements CredentialsToPrincipalResolver
          {

          ??? private final Log log = LogFactory.getLog(getClass());

          ??? public LoginInfoToPrincipalResolver()
          ??? {
          ??? }

          ??? public Principal resolvePrincipal(Credentials credentials)
          ??? {
          ??????? LoginInfoCredentials loginInfo = (LoginInfoCredentials)credentials;
          ??????? if(log.isDebugEnabled())
          ??????? {
          ??????????? log.debug((new StringBuilder("Creating SimplePrincipal for [")).append(loginInfo.getAccount()).append("]").toString());
          ??????? }
          ??????? return new SimplePrincipal(loginInfo.getAccount());
          ??? }

          ??? public boolean supports(Credentials credentials)
          ??? {
          ??????? return credentials != null && com/jama/credentials/LoginInfoCredentials.isAssignableFrom(credentials.getClass());
          ??? }
          }

          posted @ 2006-12-08 13:48 robbin163 閱讀(277) | 評(píng)論 (0)編輯 收藏

          function ltrim(str) {
          ??????? var pattern = new RegExp("^[\\s]+","gi");
          ??????? return str.replace(pattern,"");
          }

          function rtrim(str) {
          ??????? var pattern = new RegExp("[\\s]+$","gi");
          ??????? return str.replace(pattern,"");
          }
          function trim(str) {
          ??????? return rtrim(ltrim(str));
          }

          posted @ 2006-11-18 14:35 robbin163 閱讀(516) | 評(píng)論 (0)編輯 收藏

          index.jsp
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          </HEAD>
          <script language="javascript">
          function detect(){
          ? xml=new ActiveXObject("Microsoft.XMLHTTP");
          ? var post="";
          ? xml.open("POST","http://localhost:8080/xmlhttp.jsp",false);
          ? xml.setrequestheader("content-length" ,post.length);
          ? xml.setrequestheader("content-type" , "application/x-www-form-urlencoded" );
          ? xml.send(post);
          ? var res=xml.responseText;
          ? list.innerText=res;
          ? setTimeout("detect()",1000);
          }
          </script>

          <body onload = "detect()">
          test :
          ???? <a id="list" >? </a>

          </BODY>
          </HTML>


          xmlhttp.jsp
          <%@ page language="java" contentType="text/html;charset=GB2312"%>
          <%@ page import ="java.util.*"%>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          </HEAD>

          <BODY>
          <%
          ? Random randor=new Random();
          ? out.println(randor.nextInt());
          %>
          </BODY>
          </HTML>

          posted @ 2006-11-17 12:43 robbin163 閱讀(189) | 評(píng)論 (0)編輯 收藏

          jasperreport中可以使用List作為數(shù)據(jù)源,使用格式如下.
          List list=this.customerDao.getAllCustomer();? //得到所有客戶
          JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
          ???JasperPrint jasperPrint = JasperFillManager.fillReport(
          ?????reportFilePath, parameters, ds);
          得填充數(shù)據(jù)后,即可輸出顯示到PDF,Excel,Html
          到PDF:
          public byte[] generatePDF(String begCustNo, String endCustNo,
          ???String reportTitle, String reportFilePath) throws DemoException {
          ??// TODO Auto-generated method stub
          ?//begCustNo,endCustNo分別為查詢傳入的開(kāi)始編號(hào),結(jié)束編號(hào).
          ??jdbcCustomerDao = new JdbcCustomerDao();
          ??Map parameters = new HashMap();
          ??parameters.put("ReportTitle", reportTitle);//報(bào)表標(biāo)題
          ??List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
          ???try {
          ???JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
          ???JasperPrint jasperPrint = JasperFillManager.fillReport(
          ?????reportFilePath, parameters, ds);???return JasperExportManager.exportReportToPdf(jasperPrint);
          ??} catch (JRException e) {
          ???throw new DemoException("Report Export Failed.");
          ??}
          ?}
          到Html:
          public byte[] generateHtml(String begCustNo, String endCustNo,
          ???String reportTitle, String reportFilePath) throws DemoException {
          ??jdbcCustomerDao = new JdbcCustomerDao();
          ??Map parameters = new HashMap();
          ??parameters.put("ReportTitle", reportTitle);
          ??List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
          ??System.out.println("list size is :" + list.size());
          ??JRHtmlExporter exporter = new JRHtmlExporter();
          ??ByteArrayOutputStream oStream = new ByteArrayOutputStream();
          ??try {
          ???JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
          ???JasperPrint jasperPrint = JasperFillManager.fillReport(
          ?????reportFilePath, parameters, ds);
          ???exporter.setParameter(
          ?????JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,
          ?????Boolean.FALSE);
          ???exporter
          ?????.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
          ???exporter
          ?????.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");
          ???exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
          ???exporter.exportReport();
          ???byte[] bytes = oStream.toByteArray();
          ???return bytes;
          ??} catch (JRException e) {
          ???throw new DemoException("Report Export Failed.");
          ??}
          ?}
          到Excel:
          public byte[] generateExcel(String begCustNo, String endCustNo,
          ???String reportTitle, String reportFilePath) throws DemoException {
          ??jdbcCustomerDao = new JdbcCustomerDao();
          ??Map parameters = new HashMap();
          ??parameters.put("ReportTitle", reportTitle);
          ??List list = jdbcCustomerDao.getAllCustomer(begCustNo, endCustNo);
          ??System.out.println("list size is :" + list.size());
          ??JRXlsExporter exporter = new JRXlsExporter(); // Excel
          ??ByteArrayOutputStream oStream = new ByteArrayOutputStream();
          ??try {
          ???JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
          ???JasperPrint jasperPrint = JasperFillManager.fillReport(
          ?????reportFilePath, parameters, ds);
          ???exporter
          ?????.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
          ???exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
          ???exporter.setParameter(
          ?????JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
          ?????Boolean.TRUE);
          ???exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
          ?????Boolean.FALSE);
          ???exporter.setParameter(
          ?????JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
          ?????Boolean.FALSE);
          ???exporter.exportReport();
          ???byte[] bytes = oStream.toByteArray();
          ???return bytes;

          ??} catch (JRException e) {
          ???throw new DemoException("Report Export Failed.");
          ??}
          ?}

          jsp調(diào)用方法:
          ?<%
          ????
          ???
          ?String filePath=getServletContext().getRealPath("/")+"report.jasper";?

          ?CustomerServiceImpl? custs=new CustomerServiceImpl();
          ??? byte[] bytes=null;
          ? String begNo=request.getParameter("beginCustNo");
          ? String endNo=request.getParameter("endCustNo");
          ? String type=request.getParameter("type");

          ? if(type.equals("Pdf")){?
          ????? bytes=?custs.generatePDF(begNo,endNo,"客戶資料明細(xì)表",filePath);
          ? }else if(type.equals("Excel")){
          ?? bytes=custs.generateExcel(begNo,endNo,"客戶資料明細(xì)表",filePath);
          ? }else
          ???? bytes=custs.generateHtml(begNo,endNo,"客戶資料明細(xì)表",filePath);


          ?if(bytes!=null){
          ??if(type.equals("Pdf")){
          ??????? ?response.setContentType("application/pdf");
          ??}else if(type.equals("Excel")){
          ???? response.setContentType("application/vnd.ms-excel");
          ??}else
          ???response.setContentType("text/html");
          ??? response.setContentLength(bytes.length);
          ??? ServletOutputStream ouputStream = response.getOutputStream();
          ??? ouputStream.write(bytes,0,bytes.length);
          ??? ouputStream.flush();
          ??? ouputStream.close();
          ?}else
          ?{
          ??out.println("error");
          ?}
          ?

          ?

          ? %>

          posted @ 2006-11-12 22:21 robbin163 閱讀(6401) | 評(píng)論 (6)編輯 收藏

          <2006年11月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 阜新市| 和平县| 垫江县| 岚皋县| 兰溪市| 昌黎县| 普陀区| 德阳市| 渭南市| 大理市| 长治市| 嘉善县| 建昌县| 扎兰屯市| 敖汉旗| 大同县| 布尔津县| 晋州市| 巴楚县| 黄平县| 丹江口市| 屏南县| 北辰区| 犍为县| 鸡西市| 伊宁市| 乳山市| 绥化市| 察隅县| 青阳县| 富蕴县| 樟树市| 梨树县| 溆浦县| 太白县| 黔东| 大港区| 敦化市| 濮阳县| 蕲春县| 大英县|