<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2008年10月16日

    JPBC ing: 留言板之三:留言板JSP代碼

         摘要: <! DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN" > <% @?page?language = " ...  閱讀全文

    posted @ 2008-10-16 23:54 nonels 閱讀(634) | 評論 (1)編輯 收藏

    JPBC ing: 留言板之二:處理jsp中出現的中文亂碼問題--字符過濾器

    ??????在參數傳遞過程中,經常會碰到中文亂碼問題,有好多種解決方法,其中一種就是用到過濾器。

    CharacterEncodingFilter.java
    package?filter;

    import?java.io.IOException;

    import?javax.servlet.Filter;
    import?javax.servlet.FilterChain;
    import?javax.servlet.FilterConfig;
    import?javax.servlet.ServletException;
    import?javax.servlet.ServletRequest;
    import?javax.servlet.ServletResponse;
    /**
    ?*?jsp中文亂碼的Filter過濾器
    ?*?
    @author?nonels
    ?*
    ?
    */


    public?class?CharacterEncodingFilter?implements?Filter?{
    ????
    protected?String?encoding;????//????字符編碼
    ????protected?boolean?ignore;????//????是否忽略大小寫
    ????public?void?init(FilterConfig?filterConfig)?throws?ServletException?{
    ????????encoding?
    =?filterConfig.getInitParameter("encoding");
    ????????String?value?
    =?filterConfig.getInitParameter("ignore");
    ????????
    if?(value?==?null)?{
    ????????????ignore?
    =?true;
    ????????}
    ?else?if?(value.equalsIgnoreCase("true"))?{
    ????????????ignore?
    =?true;
    ????????}
    ?else?if?(value.equalsIgnoreCase("yes"))?{
    ????????????ignore?
    =?true;
    ????????}

    ????}


    ????
    public?void?doFilter(ServletRequest?request,?ServletResponse?response,
    ????????????FilterChain?filterChain)?
    throws?IOException,?ServletException?{
    ????????
    if?(ignore?==?true?||?encoding?!=?null)?{
    ?????????????request.setCharacterEncoding(encoding);
    ?????????????filterChain.doFilter(request,?response);
    ????????}

    ????}


    ????
    public?void?destroy()?{
    ????????encoding?
    =?null;
    ????}

    ????

    }


    XML中的配置加上以下:
    ??????<filter>
    ????????
    <filter-name>CharacterEncodingFilter</filter-name>
    ????????
    <filter-class>filter.CharacterEncodingFilter</filter-class>
    ????????
    <init-param>
    ????????????
    <param-name>ignore</param-name>
    ????????????
    <param-value>true</param-value>
    ????????
    </init-param>
    ????????
    <init-param>
    ????????????
    <param-name>encoding</param-name>
    ????????????
    <param-value>GBK</param-value>
    ????????
    </init-param>
    ????
    </filter>
    ????
    <filter-mapping>
    ????????
    <filter-name>CharacterEncodingFilter</filter-name>
    ????????
    <url-pattern>/*</url-pattern>
    ????
    </filter-mapping>

    posted @ 2008-10-16 23:51 nonels 閱讀(545) | 評論 (0)編輯 收藏

    JPBC ing: 留言板之一:用JAVABEAN與DAO封裝數據的業務邏輯及操作

         摘要: 首先,先用DAO把數據業務邏輯部分分離開來,因為我只用到MySQL,所以就省略了工廠類,定了一個業務邏輯的接口及實現它的類。?????MessageDAO.java?????? package?DAO.iface;import?java.util.List;/**?*//**?*?進行數據操作的業務邏輯類接口的DAO?*?@author?Administrator?*?*/public?int...  閱讀全文

    posted @ 2008-10-16 23:45 nonels 閱讀(804) | 評論 (1)編輯 收藏

    2008年10月9日

    MySQL 存儲過程參數用法 in, out, inout(轉)

         摘要: MySQL 存儲過程參數有三種類型:in、out、inout。它們各有什么作用和特點呢?  閱讀全文

    posted @ 2008-10-09 12:50 nonels 閱讀(20588) | 評論 (7)編輯 收藏

    2008年9月28日

    使用SAX解析XML文檔

         摘要: 步驟1.一個簡單的XML文檔:???XML代碼:<?xml?version="1.0"?encoding="GBK"?>??<StudentInfo>??????<student>??????????<name>趙海波</name>??????????<sex>男</sex>??????????<lesson...  閱讀全文

    posted @ 2008-09-28 11:09 nonels 閱讀(1761) | 評論 (5)編輯 收藏

    使用DOM解析XML文檔

         摘要: 當使用DOM解析XML文檔時,使用的是DOM的思想,因而不可避免需要將XML文檔轉換成DOM樹。DOM解析器在裝入XML文檔時,已經在內存中將XML文檔的每個元素轉換成DOM樹的每個節點了。

    對于下面的一個簡單XML文檔:

    xml代碼:
      閱讀全文

    posted @ 2008-09-28 11:03 nonels 閱讀(309) | 評論 (0)編輯 收藏

    2008年9月15日

    (轉)Java獲得當前性能信息

         摘要: 在Java中,可以獲得總的物理內存、剩余的物理內存、已使用的物理內存等信息,本例講解如何取得這些信息,并且獲得在Windows下的內存使用率。???? 首先編寫一個MonitorInfoBean類,用來裝載監控的一些信息,包括物理內存、剩余的物理內存、已使用的物理內存、內存使用率等字段,該類的代碼如下:package?com.amigo.performance;/**?*//**?*?監視信息的J...  閱讀全文

    posted @ 2008-09-15 01:39 nonels 閱讀(228) | 評論 (0)編輯 收藏

    點對點聊天簡陋版

         摘要: CharServer.javaimport?java.net.*;import?java.util.*;import?java.io.*;public?class?ChatServer{????ServerSocket?server?=?null;????ArrayList<ClientConn>?clients?=?new?ArrayList<ClientConn>();...  閱讀全文

    posted @ 2008-09-15 01:30 nonels 閱讀(620) | 評論 (2)編輯 收藏

    2008年9月9日

    數據庫的封裝

         摘要: 每每涉及到數據庫時,總是死板的硬套那四個步驟,一直對數據庫如果封裝成類感到疑惑,晚上看了點資料,有了點感悟,就記下來了。
    將一些增刪改查的基本操作都封裝起來,其他類直接調用方法名,進行數據的操作,省了一堆無謂的聲明,實例化等。。
      閱讀全文

    posted @ 2008-09-09 23:01 nonels 閱讀(273) | 評論 (0)編輯 收藏

    2008年9月8日

    Simple Columnar Transposition Technique(簡單分欄式變換加密技術)

         摘要: 簡單分欄式變換加密技術:
    (1)將明文消息一行一行寫入預定長度的矩形中
    (2)一列一列讀消息,但不一定按1、2、3列的順序,也可以按隨機順序,如2、3、1
    (3)得到的消息就是密文消息
    注:密鑰為字符的話,就根據ASII碼的大小進行組合。  閱讀全文

    posted @ 2008-09-08 11:57 nonels 閱讀(819) | 評論 (0)編輯 收藏

    2008年9月4日

    關于時間的處理

         摘要: 在Java中關于時間的處理有很多種方法,在API中也有好幾個關于時間處理的類,如 Date、Canlendar、GregorianCalendar、SimpleDateFormat、timestamp等...貌似很雜,現在一一整理~

    各種時間類的關系如下:  閱讀全文

    posted @ 2008-09-04 21:45 nonels 閱讀(218) | 評論 (0)編輯 收藏

    Strategy(策略模式)

         摘要: 設計原則:
    #找出應用中可能需要變化之處,把它們獨立出來,不要和不需要變化的代碼混在一起(即使是行為)
    #針對接口編程,而不是針對實現編程。(實例化對象時使用多態)
    #多用組合,少用繼承

    策略模式:定義了算法族,分別封裝起來,讓他們可以互相替換,此模式讓算法的變化獨立與使用算法的客戶
      閱讀全文

    posted @ 2008-09-04 18:48 nonels 閱讀(218) | 評論 (0)編輯 收藏

    GUI簡單實現凱撒加密法

       凱撒加密法:消息中每個字母換成向后三個字母的字母,例如,明文ATUL變成密文DWXO。

       MainKaisa.java
     1 import javax.swing.JFrame;
     2 
     3 public class MainKaisa {
     4 
     5     /**
     6      * @param nonles
     7      */
     8     public static void main(String[] args) {
     9         //實例化一個窗體
    10         KaisaFrame kaisaFrame = new KaisaFrame();
    11         kaisaFrame.setVisible(true);
    12         kaisaFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    13 
    14     }
    15 
    16 }
      
        Kaisa.java
     1 mport java.awt.event.ActionEvent;
     2 import java.awt.event.ActionListener;
     3 import javax.swing.*;
     4 
     5 public class KaisaFrame extends JFrame {
     6     
     7     JLabel jlDackText = new JLabel();
     8     JButton btnBrightText = new JButton();
     9     JPasswordField jpf = new JPasswordField();
    10     JTextField jtf2 = new JTextField();
    11     char[] buf;
    12     
    13     
    14     public KaisaFrame() {
    15         this.setSize(300,200);    //設置窗體大小
    16         this.setTitle("凱撒加密法");
    17         this.setResizable(false);
    18         
    19         jbInit();
    20     }
    21     
    22     private void isLetter() {
    23         //判斷輸入的內容是否為字母
    24         buf = jpf.getPassword();
    25         for(char c:buf) {
    26             if(Character.isLetter(c) == false) {
    27                 JOptionPane.showMessageDialog(this"不能為非字符""Error", JOptionPane.ERROR_MESSAGE);
    28                 jpf.setText("");
    29                 jtf2.setText("");
    30                 return;
    31             } else {
    32                 makeBrightText();
    33             }
    34         }
    35     }
    36     
    37     private void makeBrightText() {
    38         // 產生明文    
    39         char[] arr = new char[buf.length];
    40         int index=0,temp;
    41         for(char c:buf) {
    42             temp = c+3;    //字母后移三位
    43             if( (temp>90 && temp<97|| temp>122 ) {    
    44                 //若ASCII碼在此區間則減去26(使字符XYZ,xyz循環到XAB,xab)
    45                 temp = temp - 26;
    46                 arr[index++= (char)temp;    
    47             } else {
    48                 arr[index++= (char)temp;
    49             }
    50         } 
    51         
    52         String str = new String(arr);            
    53         jtf2.setText(str);
    54         
    55     }
    56     
    57     private void jbInit() {
    58         //    設置窗體內容        
    59         this.setLayout(null);
    60         jlDackText.setText("輸入密文:"); 
    61         jlDackText.setBounds(30208030);
    62         btnBrightText.setText("生成明文:");
    63         btnBrightText.setBounds(309010030);
    64         jpf.setBounds(160208030);
    65         jpf.setEchoChar('*');
    66         jtf2.setBounds(160908030);
    67         jtf2.setEditable(false);
    68     
    69         this.add(jlDackText);
    70         this.add(jpf);
    71         this.add(btnBrightText);
    72         this.add(jtf2);
    73         
    74         btnBrightText.addActionListener(new ActionListener(){
    75 
    76             @Override
    77             public void actionPerformed(ActionEvent e) {
    78                 isLetter();    //判斷輸入的內容是否為字母        
    79             }
    80 
    81         });
    82     }
    83     
    84 }
    85 
        
        現實圖解:   

          往文本框中輸入密文(只限字符),點擊按鈕,即生成相應密文。                           
           
                                      
          若輸入為非字符,則彈出錯誤框~
         

         簡單的一個程序,說明都不用了。。。

    posted @ 2008-09-04 15:51 nonels 閱讀(862) | 評論 (1)編輯 收藏

    簡單實現柵欄加密法

    Rail Fence Technique:變換加密技術一種。
    ??????????????????? 1、將明文消息寫成對角線序列
    ??????????????????? 2、將第一步寫出的明文讀入序列
    ?? RailFence.java
    ?1?import?java.io.BufferedReader;
    ?2?import?java.io.FileWriter;
    ?3?import?java.io.IOException;
    ?4?import?java.io.InputStreamReader;
    ?5?import?java.io.PrintWriter;
    ?6?
    ?7?public?class?RailFence?{
    ?8?
    ?9?????public?static?void?main(String[]?args)?{????????
    10?????????char[]?buf;
    11?????????String?str?=?new?String("");
    12?????????StringBuffer?sb1?=?new?StringBuffer("");
    13?????????StringBuffer?sb2?=?new?StringBuffer("");
    14?????????
    15?????????BufferedReader?in?=?new?BufferedReader(new?InputStreamReader(System.in));
    16?????????try?{
    17?????????????PrintWriter?out?=?new?PrintWriter(new?FileWriter("d:""czl.txt"));
    18?????????????while((str=in.readLine())!=?null)?{
    19?????????????????if(str.equalsIgnoreCase("exit"))?break;????//退出操作
    20?????????????????System.out.println("明文:"+str);????????//將輸入的字符串打印到控制臺
    21?????????????????out.println("============柵欄加密技術=============");
    22?????????????????out.println("明文:"+str);
    23?????????????????buf?=?str.toCharArray();????//將輸入的字符串轉變為字符數組
    24?????????????????for(int?i=0;i<buf.length;i++)?{
    25?????????????????????//將位置為0、2、4..放在sb1中,單數放sb2中
    26?????????????????????if(i%2?==?0)????
    27?????????????????????????sb1.append(buf[i]);????????????
    28?????????????????????else
    29?????????????????????????sb2.append(buf[i]);
    30?????????????????}
    31?????????????????out.println("密文:"+sb1.append(sb2));????//合并兩個數組????
    32?????????????}
    33?????????????out.flush();
    34?????????????out.close();
    35?????????}?catch?(IOException?e)?{
    36?????????????e.printStackTrace();
    37?????????}
    38?????????
    39?????}
    40?
    41?}


    posted @ 2008-09-04 15:48 nonels 閱讀(1692) | 評論 (2)編輯 收藏

    Tomcat6.0 配置

    ??? 在成功安裝JDK的前提下,安裝tomcat6.0(假設安裝路徑為C:,一般選擇FULL安裝,4.0以上版本不用配置環境變量)系統變量中添加以下環境變量(假定你的j2sdk安裝在c:"jdk1.6):?JAVA_HOME=c:"jdk1.6。接著可以啟動tomcat,在IE中訪問http://localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。
    ??? 然后對tomcat進行配置:
    ??? 第一步:建立自己的jsp?app目錄
    ??????? 1.webapps目錄下新建一個目錄,起名叫myapp;?
    ????? ? 2.myapp下新建一個目錄WEB-INF,注意,目錄名稱是區分大小寫的;?
    ??????? 3.WEB-INF下新建一個文件web.xml,內容如下:
    ?
    ???
    ?1?<?xml?version="1.0"?encoding="ISO-8859-1"?>
    ?2?
    ?3?<!DOCTYPE?web-app
    ?4?PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"
    ?5?"http://java.sun.com/dtd/web-app_2_3.dtd">
    ?6?
    ?7?<web-app>
    ?8?<display-name>My?Web?Application</display-name>
    ?9?<description>
    10?A?application?for?test.
    11?</description>
    12?</web-app>
    ??
    ? ? 4.myapp下新建一個測試的jsp頁面,文件名為index.jsp,文件內容如下
    ?

    1?<html>
    2?<body>
    3?<center>
    4?Now?time?is:?<%=new?java.util.Date()%>
    5?</center>
    6?</body>
    7?</html>
    ??? 5.重啟Tomcat?
    ???? ?? 6.打開瀏覽器,輸入
    http://localhost:8080/myapp/index.jsp看到當前時間的話說明就成功了

    ???
    第二步:建立自己的Servlet:
    ??? 寫入你的第一個Servlet:
    ??? 在你新建的Application myapp/WEB-INF/classes/test目錄下新建HelloWorld.java
    ???

    ?1?package?test;
    ?2?
    ?3?import?java.io.*;
    ?4??import?javax.servlet.*;
    ?5??import?javax.servlet.http.*;
    ?6??public?class?HelloWorld?extends?HttpServlet
    ?7???{
    ?8?????public?void?doGet(HttpServletRequest?request,HttpServletResponse?response)throws ServletException,IOException
    ?9????{
    10?????response.setContentType("text/html");
    11?????PrintWriter?out?=?response.getWriter();
    12?????out.println("<html><head><title>");
    13?????out.println("This?is?my?first?Servlet");
    14?????out.println("</title></head><body>");
    15?????out.println("<h1>Hello,World!</h1>");
    16?????out.println("</body></html>");
    17????
    18????}
    19????}
    ??? 把Tomcat中lib里面的servlet-api.jar文件拷貝到C:"JDK"jre"lib"ext中,編譯HelloWorld.java
    ???
    Servlet必須使用C:"Tomcat"webapps"myapp"WEB-INF這個目錄下面的web.xml文件進行注冊,用EditPlus打開這個web.xml文件,在<web-app></web-app>添加下面這段程序:
    ???
    ?1?package?test;
    ?2?public?class?TestBean
    ?3?{
    ?4?????private?String?name?=null;
    ?5?????public?TestBean(String?nameInit){
    ?6?????????this.name?=?nameInit;
    ?7?????}
    ?8?????public?void?setName(String?newName){
    ?9?????????this.name=newName;
    10?????}
    11?????public?String?getName(){
    12?????????return?this.name;
    13?????}
    14?}
    ?????? 然后照樣用javac TestBean.java來編譯這個文件。

    ?????
    2.然后在你新建的應用程序目錄myapp下新建一個新的jsp文件:testBean.jsp
    ??????

    ?1?<%@?page?import="test.TestBean"?%>
    ?2?<html>
    ?3?<head>
    ?4?<title>Test?Bean</title>
    ?5?</head>
    ?6?<body>
    ?7?<center>
    ?8?<%
    ?9????TestBean?testBean?=?new?TestBean("Http://czl.cn");
    10??%>
    11?Java?Bean?Test:
    12?????The?author's?blog?address?is<%=testBean.getName()%>
    13?</center>
    14?</body>
    15?</html>
    ????? 確定各個文件的位置,如下
    ?????

    myapp"index.jsp
    myapp"testBean.jsp
    myapp"WEB-INF"web.xml
    myapp"WEB-INF"classes"test"HelloWorld.class
    myapp"WEB-INF"classes"test"TestBean.class
    ??????

    ???? 3.重啟Tomcat如果需要的話,在瀏覽器輸入:http://localhost:8080/myapp/testBean.jsp?幸運的話就會看到:

    ???? Java Bean Test: The author's blog address isHttp://czl.cn

    ???? 這樣就完成了整個Tomcat下的jsp、servlet和javabean的配置。

    ???

    ?? 第四步:配置虛擬目錄

    ????? 打開 Tomcat6.0"conf"server.xml 文件,在 <Host> 和 </Host> 之間加入????

    <Context?path="/myapp"?docBase="D:"myapp"?debug="0"?reloadable="true"?crossContext="true"?/>

    posted @ 2008-09-04 15:43 nonels 閱讀(668) | 評論 (0)編輯 收藏

    例子說明String的堆(heap)棧(stack)信息

         摘要: String是一個特殊的包裝類數據。即可以用String str = new String("abc");的形式來創建,也可以用String str = "abc";的形式來創建。前者是規范的類的創建過程,即在Java中,一切都是對象,而對象是類的實例,全部通過new()的形式來創建。Java 中的有些類,如DateFormat類,可以通過該類的getInstance()方法來返回一個新創建的類,似乎違反了此原則。其實不然。該類運用了單例模式來返回類的實例,只不過這個實例是在該類內部通過new()來創建的,而getInstance()向外部隱藏了此細節。那為什么在String str = "abc";中,并沒有通過new()來創建實例,是不是違反了上述原則?其實沒有。
      閱讀全文

    posted @ 2008-09-04 14:22 nonels 閱讀(495) | 評論 (0)編輯 收藏

    僅列出標題  
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類(16)

    隨筆檔案(16)

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 图图资源网亚洲综合网站| 亚洲乱码日产精品一二三| 亚洲av成人综合网| 成人无码视频97免费| 女人18毛片水最多免费观看| 亚洲伦另类中文字幕| CAOPORM国产精品视频免费| 成人在线免费观看| 亚洲乱人伦精品图片| 在线观看免费av网站| 亚洲热妇无码AV在线播放| 久久亚洲AV成人无码国产最大| 国产1024精品视频专区免费| 久久亚洲精品中文字幕无码| 四虎永久在线精品免费网址 | 亚洲国产精品成人一区| 亚洲国产成人久久精品软件| 国产精品免费视频一区| 亚洲一久久久久久久久| 免费黄色毛片视频| 午夜在线亚洲男人午在线| 暖暖在线日本免费中文| 美女又黄又免费的视频| 免费v片视频在线观看视频| 免费国产黄网站在线观看动图| 亚洲精品WWW久久久久久| 免费看又黄又爽又猛的视频软件| 亚洲色大成网站www永久| 国产精品久久永久免费| 久久精品国产99国产精品亚洲| 亚洲线精品一区二区三区| 啦啦啦www免费视频| 7x7x7x免费在线观看| 中国精品一级毛片免费播放| 国产青草亚洲香蕉精品久久| 亚洲一区无码中文字幕乱码| 亚洲AV日韩精品久久久久| 亚洲中文字幕无码一久久区| 日韩免费无码视频一区二区三区| 亚洲欧洲日产国码二区首页| 日本免费一二区在线电影|