∪∩deniable Design

          個人JAVA版GAE(google app engine),struts2+jpa+jQuery開發,互相交流 http://iunbug.appspot.com/
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

               摘要:    1第二章    2課堂習題:    3public class Main     4{    5    public static void&nb...  閱讀全文

          posted @ 2008-08-18 09:15 ∪∩BUG 閱讀(3406) | 評論 (5)編輯 收藏

               摘要:  1<%@ page contentType="text/html; charset=UTF-8"%>  2<%@ taglib prefix="s" uri="/struts-tags"%>  3  4<!--   5  ...  閱讀全文

          posted @ 2008-08-16 23:12 ∪∩BUG 閱讀(1177) | 評論 (1)編輯 收藏

           

           1Struts 筆記
           22008 08 15
           3當你使用struts 2 tags時,如果使用代碼:
           4<s:set name="name" value="<%= "'" + request.getParameter("name") + "'" %>" />
           5或者
           6
           7<s:set name="name"value="${param.name}" />
           8都會發生下列錯誤:
           9According to TLD or attribute directive in tag file, attributevalue does not accept any expressions
          10而得使用:
          11<s:set name="name" value="#parameters.name[0]" />
          12才行
          13原因可能是因為你使用了<%..%>代碼 or JSP EL表達式。Struts 2從 version2.0.11開始已經不支持strutstag與JSP EL表達式混合使用了(不在struts tag里使用EL還是可以的)
          14
          15
          16技巧(Trick Tip):
          17對于<s:property>,是使用
          18<s:property value="#parameters.name"/>
          19而對于<s:set>,則要使用(否則出錯):
          20<s:set name="name" value="#parameters.name[0]" />
          21
          22但是如果使用struts include tag來傳參數,則<s:property><s:set>無法獲取傳來的參數,如:
          23<body>
          24<s:include value= "/welcome.jsp">
          25<s:param name="name">Scott</s:param>
          26</s:include>
          27</body>
          28那么在webcome.jsp里通過<s:property><s:set>無法獲取"name"參數:
          29<s:property value="#parameters.name" />
          30<s:set name="name"value="#parameters.name[0]" />
          31而只能夠用
          32<%request.getParameter("name")%>
          33來獲取
          34
          35例如:
          36<%@ page contentType="text/html; charset=UTF-8"%>
          37<%@ taglib prefix="s" uri="/struts-tags"%>
          38<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          39<html>
          40    <head>
          41        <title>Condition Flow</title>
          42    </head>
          43    <body>
          44        <h3>
          45            Condition Flow
          46        </h3>
          47
          48        <!-- 注意"'" + request.getParameter("name") + "'"這里的單引號 -->
          49        <!-- s:if test="#name == 'Max'" 判斷取出name的值是否與Max相等,#表示取出值 -->
          50        <s:set name="name"
          51            value="#parameters.name[0]" />
          52
          53        <s:if test="#name == 'Max'">
          54            Max's file here
          55        </s:if>
          56        <s:elseif test="#name == 'Scott'">
          57            Scott's file here
          58        </s:elseif>
          59        <s:else>
          60            Other's file here
          61        </s:else>
          62    </body>
          63</html>
          64<!--
          65            這里有點小技巧:
          66            本來可以用#parameters.name[0]來獲得,請求中name的值。但是,在我實現include例子時,
          67            無論我用param標志給name賦任何值,#parameters里面不會含有任何值,所以#parameters.name也為空值。
          68            
          69            其原因為:
          70            當使用include標志時,被包含的頁面(included)里#parameters拿到的是包含頁面里的請求參數。
          71            
          72            因此,這里必須手工調用request.getParameter("name")。        
          73-->
          74

          posted @ 2008-08-15 21:43 ∪∩BUG 閱讀(443) | 評論 (0)編輯 收藏


          JSP筆記
          2008 05 05
          一.系統環境變量的配置:
          新建:
          變量名:JAVA_HOME
          值:E:\Program File\Java\jdk1.
          6.0_03        //JDK的主目錄

          變量名:CATALINA_BASE
          值:D:\Program Files\Apache Software Foundation\Tomcat 
          5.0        //TOMCAT主目錄

          變量名:CATALINA_HOME
          值:D:\Program Files\Apache Software Foundation\Tomcat 
          5.0        //TOMCAT主目錄

          變量名:SQL_DRIVER
          值:E:\Program File\Microsoft SQL Server 
          2000 Driver for JDBC        //SQL驅動主目錄

          變量名:classpath        
          //包含SQL,JDK,TOMCAT
          值:
          (
          1).;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar

          (
          2).;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\jconsole.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;e:\Program File\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;e:\Program File\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;e:\Program File\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar

          (
          3).;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\lib\jconsole.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;%CATALINA_HOME%\common\lib\jsp-api.jar;%SQL_DRIVER%\lib\msbase.jar;%SQL_DRIVER%\lib\mssqlserver.jar;%SQL_DRIVER%\lib\msutil.jar

          變量名:Path
          值:SystemRoot
          %\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\Program Files\Microsoft SQL Server\80\Tools\BINN;%JAVA_HOME%\bin

          二.所建的JSP主文件夾myjsp要放在:D:\Program Files\Apache Software Foundation\Tomcat 
          5.0\webapps
          在D:\Program Files\Apache Software Foundation\Tomcat 
          5.0\webapps\myjsp必須建一個文件名為:WEB-INF文件夾

          三.啟動測試Tomcat時,先運行Monitor Tomcat再到D:\Program Files\Apache Software Foundation\Tomcat 
          5.0\bin運行startup.bat
          接著到地址欄輸入http:
          //localhost:8080


          !!!erro 500之一
           D:\Program Files\Apache Software Foundation\Tomcat 
          5.0\common\lib 的目錄

          2008-06-10  17:19    <DIR>          .
          2008-06-10  17:19    <DIR>          ..
          2004-08-29  08:02             8,412 ant-launcher.jar
          2004-08-29  08:02           958,858 ant.jar
          2004-08-29  08:02           559,366 commons-collections-3.1.jar
          2004-08-29  08:02           107,631 commons-dbcp-1.2.1.jar
          2004-08-29  08:02           112,341 commons-el.jar
          2004-08-29  08:02            42,492 commons-pool-1.2.jar
          2004-08-29  08:02           351,903 jasper-compiler.jar
          2004-08-29  08:02           105,502 jasper-runtime.jar
          2004-08-29  08:02            50,491 jsp-api.jar
          2004-08-29  08:02            27,968 naming-common.jar
          2004-08-29  08:02            14,870 naming-factory.jar
          2004-08-29  08:02             2,059 naming-java.jar
          2004-08-29  08:02            42,308 naming-resources.jar
          2004-08-29  08:02            97,689 servlet-api.jar
          2007-09-25  01:11        12,171,847 tools.jar
                        
          15 個文件     14,653,737 字節

          1JSP筆記
          2
          32008 05 12
          4一.關于打開http://localhost:8080/顯示空白頁面的解決辦法
          5    今天netbeans與tomcat發生了沖突.導致打開http://localhost:8080/顯示空白頁面.可以先卸載了netbeans再卸載tomcat后重新安裝來解決的.
          6    不過可以用以下的辦法來打開例子.
          7    1.地址欄:http://localhost:8080/StudMS/ (StudMS是我的例子)可以打開我們正在使用的例子.
          8    2.地址欄:http://localhost:8080/manager/html    可以打開到tomcat5.0/webapps下的例子目錄.就是平常的Tomcat Web Application Manager 頁面.這時可以打開想打開的例子.

          posted @ 2008-07-29 22:21 ∪∩BUG 閱讀(298) | 評論 (0)編輯 收藏

           

           1常用 JDBC 驅動名字和 URL 列表 
           2(1)
           3ODBC  driver
           4sun.jdbc.odbc.JdbcOdbcDriver
           5jdbc:odbc:name 
           6
           7用 COM.ibm.db2.jdbc.net.DB2Driver 連接到 DB2 數據庫
           8一個 DB2 URL 的示例:
           9jdbc:db2://aServer.myCompany.com:50002/name 
          10
          11用 com.sybase.jdbc.SybDriver連接到 Sybase 數據庫
          12一個 Sybase URL 的示例:
          13jdbc:sybase:Tds:aServer.myCompany.com:2025 
          14
          15(2)
          16MySQL driver
          17com.mysql.jdbc.Driver
          18jdbc:mysql://hostname:3306/dbname?useUnicode=true&characterEncoding=GBK 
          19
          20(3)
          21Microsoft SQL Server Driver
          22com.microsoft.jdbc.sqlserver.SQLServerDriver
          23jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=WapSvc;User=sa;Password=pwd 
          24
          25(4)
          26Informix
          27com.informix.jdbc.IfxDriver
          28jdbc:informix-sqli://hostname:1526/dbname:INFORMIXSERVER=informixservername;user=username;password=password 
          29
          30(5)
          31Oracle
          32oracle.jdbc.driver.OracleDriver
          33jdbc:oracle:thin:@hostname:1521:<SID> 
          34
          35(6)
          36Postgresql
          37org.postgresql.Driver
          38jdbc:postgresql://localhost/soft 
          39
          40(7)
          41Apache Derby/Java DB
          42org.apache.derby.jdbc.ClientDriver
          43jdbc:derby://localhost:1527/databaseName;create=true 
          44
          45(8)
          46Access 是通過 ODBC 連接的. Excel 也可以. 甚至可以動態構造連接字符串: 
          47這樣可以直接連接到 Access 數據庫文件. 
          48jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\mydata.mdb 
          49類似的 Excel 文件也可以用類似方法: 
          50
          51jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=.\mydata.xls
          52

          posted @ 2008-07-27 18:09 ∪∩BUG 閱讀(263) | 評論 (0)編輯 收藏

          (1)SQL注入獲取用戶密碼:
          1select * from student where Sno='0605030320' or '1'='1' and password='abc'
          (2)設置參數在底層防止注入
           1/**
           2 * 
           3 */

           4package user.DAO;
           5
           6import java.sql.*;
           7
           8import user.entity.User;
           9
          10/**
          11 * 用戶數據訪問層
          12 * @author Administrator
          13 *@version 1.0
          14 *日期2008 07 24
          15 */

          16public class UserDAO {
          17    /**
          18     * 根據用戶名和密碼查找用戶,找到了返回 user 對象,否則返回 null
          19     * @param(參量) user
          20     */

          21    public findUserByUsernamePassword(User user){
          22        // 1.注冊驅動
          23        try {
          24            Class.forName("com.mysql.jdbc.Driver");
          25        }
           catch (ClassNotFoundException e) {
          26            // TODO Auto-generated catch block
          27            e.printStackTrace();
          28        }
          //mysql驅動
          29        
          30        java.sql.Connection conn = null;
          31        PreparedStatement pstmt = null;    
          32        ResultSet rs = null;
          33        
          34        try {
          35            //2.獲取數據庫的連接(接數據庫)
          36            conn = java.sql.DriverManager.getConnection(
          37                    "jdbc:mysql://localhost/stums?useUnicode=true&characterEncoding=GBK","root","admin");
          38            
          39            //執行SQL
          40            pstmt = conn.prepareStatement("select * from student where Sno =? and Password = ?");
          41            
          42            //設置參數防止SQL注入
          43            pstmt.setString(1, user.getUsername());
          44            pstmt.setString(2, user.getPassword());
          45            
          46            //獲取數據集
          47            rs = pstmt.executeQuery();
          48            
          49            if(rs != null && rs.next()){
          50                user.setId(rs.getInt("Sno"));
          51                return user;
          52            }

          53            
          54        }
           catch (SQLException e) {
          55            // TODO Auto-generated catch block
          56            e.printStackTrace();
          57        }
          finally{    //釋放資源
          58            try {
          59                rs.close();     //關閉數據集
          60            }
           catch (Exception e) {
          61                // TODO Auto-generated catch block
          62                e.printStackTrace();
          63            }

          64            try {
          65                pstmt.close();    //關閉表連接
          66            }
           catch (Exception e) {
          67                // TODO Auto-generated catch block
          68                e.printStackTrace();
          69            }

          70            try {
          71                conn.close();    //關閉數據庫連接
          72            }
           catch (Exception e) {
          73                // TODO Auto-generated catch block
          74                e.printStackTrace();
          75            }

          76        }

          77        
          78        return null;
          79        
          80        
          81    }

          82
          83}

          84

          posted @ 2008-07-27 18:08 ∪∩BUG 閱讀(1785) | 評論 (0)編輯 收藏

          大量的編輯器里都能用鼠標拖動代碼,可是Eclipse-MyEclipse里怎么就失效了呢?
          作為初學者沒有這個功能真是有些煩惱.
          今天寫一個JavaBeans突然發現在Java代碼里可以實現鼠標拖動的,很興奮,試了幾遍卻發現只能拖動一個完整單詞或完整詞組或是語句.
          想拖動一個注釋符號或是大括號之類的就不那么方便了.

          posted @ 2008-07-27 18:07 ∪∩BUG 閱讀(1163) | 評論 (0)編輯 收藏

               摘要:  1JAVA筆記  22008 04 22  31.用javac編譯代碼時,javac 后的文件名對大小寫不敏感,如一個名為Hello.java的文件,  4    可以這樣寫:javac hello.java或javac HEllO.java  52...  閱讀全文

          posted @ 2008-07-27 17:01 ∪∩BUG 閱讀(522) | 評論 (1)編輯 收藏

          僅列出標題
          共14頁: First 上一頁 6 7 8 9 10 11 12 13 14 
          主站蜘蛛池模板: 大宁县| 广南县| 南部县| 那曲县| 宁阳县| 滕州市| 师宗县| 凤阳县| 大洼县| 和田市| 北海市| 宁津县| 轮台县| 淄博市| 巧家县| 清水河县| 赤水市| 临夏县| 五莲县| 蒲江县| 咸阳市| 类乌齐县| 锦屏县| 榆林市| 皋兰县| 长丰县| 获嘉县| 亳州市| 垦利县| 余江县| 资溪县| 平湖市| 海伦市| 利津县| 论坛| 苍梧县| 彭水| 阳山县| 龙海市| 类乌齐县| 萝北县|