∪∩deniable Design

          個(gè)人JAVA版GAE(google app engine),struts2+jpa+jQuery開(kāi)發(fā),互相交流 http://iunbug.appspot.com/

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

          posted @ 2008-08-18 09:15 ∪∩BUG 閱讀(3401) | 評(píng)論 (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 閱讀(1173) | 評(píng)論 (1)編輯 收藏

           

           1Struts 筆記
           22008 08 15
           3當(dāng)你使用struts 2 tags時(shí),如果使用代碼:
           4<s:set name="name" value="<%= "'" + request.getParameter("name") + "'" %>" />
           5或者
           6
           7<s:set name="name"value="${param.name}" />
           8都會(huì)發(fā)生下列錯(cuò)誤:
           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原因可能是因?yàn)槟闶褂昧?/span><%..%>代碼 or JSP EL表達(dá)式。Struts 2從 version2.0.11開(kāi)始已經(jīng)不支持strutstag與JSP EL表達(dá)式混合使用了(不在struts tag里使用EL還是可以的)
          14
          15
          16技巧(Trick Tip):
          17對(duì)于<s:property>,是使用
          18<s:property value="#parameters.name"/>
          19而對(duì)于<s:set>,則要使用(否則出錯(cuò)):
          20<s:set name="name" value="#parameters.name[0]" />
          21
          22但是如果使用struts include tag來(lái)傳參數(shù),則<s:property><s:set>無(wú)法獲取傳來(lái)的參數(shù),如:
          23<body>
          24<s:include value= "/welcome.jsp">
          25<s:param name="name">Scott</s:param>
          26</s:include>
          27</body>
          28那么在webcome.jsp里通過(guò)<s:property><s:set>無(wú)法獲取"name"參數(shù):
          29<s:property value="#parameters.name" />
          30<s:set name="name"value="#parameters.name[0]" />
          31而只能夠用
          32<%request.getParameter("name")%>
          33來(lái)獲取
          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") + "'"這里的單引號(hào) -->
          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            這里有點(diǎn)小技巧:
          66            本來(lái)可以用#parameters.name[0]來(lái)獲得,請(qǐng)求中name的值。但是,在我實(shí)現(xiàn)include例子時(shí),
          67            無(wú)論我用param標(biāo)志給name賦任何值,#parameters里面不會(huì)含有任何值,所以#parameters.name也為空值。
          68            
          69            其原因?yàn)椋?br /> 70            當(dāng)使用include標(biāo)志時(shí),被包含的頁(yè)面(included)里#parameters拿到的是包含頁(yè)面里的請(qǐng)求參數(shù)。
          71            
          72            因此,這里必須手工調(diào)用request.getParameter("name")。        
          73-->
          74

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


          JSP筆記
          2008 05 05
          一.系統(tǒng)環(huán)境變量的配置:
          新建:
          變量名: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驅(qū)動(dòng)主目錄

          變量名: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必須建一個(gè)文件名為:WEB-INF文件夾

          三.啟動(dòng)測(cè)試Tomcat時(shí),先運(yùn)行Monitor Tomcat再到D:\Program Files\Apache Software Foundation\Tomcat 
          5.0\bin運(yùn)行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 個(gè)文件     14,653,737 字節(jié)

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

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

           

           1常用 JDBC 驅(qū)動(dòng)名字和 URL 列表 
           2(1)
           3ODBC  driver
           4sun.jdbc.odbc.JdbcOdbcDriver
           5jdbc:odbc:name 
           6
           7用 COM.ibm.db2.jdbc.net.DB2Driver 連接到 DB2 數(shù)據(jù)庫(kù)
           8一個(gè) DB2 URL 的示例:
           9jdbc:db2://aServer.myCompany.com:50002/name 
          10
          11用 com.sybase.jdbc.SybDriver連接到 Sybase 數(shù)據(jù)庫(kù)
          12一個(gè) 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 是通過(guò) ODBC 連接的. Excel 也可以. 甚至可以動(dòng)態(tài)構(gòu)造連接字符串: 
          47這樣可以直接連接到 Access 數(shù)據(jù)庫(kù)文件. 
          48jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\mydata.mdb 
          49類(lèi)似的 Excel 文件也可以用類(lèi)似方法: 
          50
          51jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=.\mydata.xls
          52

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

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

           4package user.DAO;
           5
           6import java.sql.*;
           7
           8import user.entity.User;
           9
          10/**
          11 * 用戶(hù)數(shù)據(jù)訪(fǎng)問(wèn)層
          12 * @author Administrator
          13 *@version 1.0
          14 *日期2008 07 24
          15 */

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

          21    public findUserByUsernamePassword(User user){
          22        // 1.注冊(cè)驅(qū)動(dòng)
          23        try {
          24            Class.forName("com.mysql.jdbc.Driver");
          25        }
           catch (ClassNotFoundException e) {
          26            // TODO Auto-generated catch block
          27            e.printStackTrace();
          28        }
          //mysql驅(qū)動(dòng)
          29        
          30        java.sql.Connection conn = null;
          31        PreparedStatement pstmt = null;    
          32        ResultSet rs = null;
          33        
          34        try {
          35            //2.獲取數(shù)據(jù)庫(kù)的連接(接數(shù)據(jù)庫(kù))
          36            conn = java.sql.DriverManager.getConnection(
          37                    "jdbc:mysql://localhost/stums?useUnicode=true&characterEncoding=GBK","root","admin");
          38            
          39            //執(zhí)行SQL
          40            pstmt = conn.prepareStatement("select * from student where Sno =? and Password = ?");
          41            
          42            //設(shè)置參數(shù)防止SQL注入
          43            pstmt.setString(1, user.getUsername());
          44            pstmt.setString(2, user.getPassword());
          45            
          46            //獲取數(shù)據(jù)集
          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();     //關(guān)閉數(shù)據(jù)集
          60            }
           catch (Exception e) {
          61                // TODO Auto-generated catch block
          62                e.printStackTrace();
          63            }

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

          70            try {
          71                conn.close();    //關(guān)閉數(shù)據(jù)庫(kù)連接
          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 閱讀(1779) | 評(píng)論 (0)編輯 收藏

          大量的編輯器里都能用鼠標(biāo)拖動(dòng)代碼,可是Eclipse-MyEclipse里怎么就失效了呢?
          作為初學(xué)者沒(méi)有這個(gè)功能真是有些煩惱.
          今天寫(xiě)一個(gè)JavaBeans突然發(fā)現(xiàn)在Java代碼里可以實(shí)現(xiàn)鼠標(biāo)拖動(dòng)的,很興奮,試了幾遍卻發(fā)現(xiàn)只能拖動(dòng)一個(gè)完整單詞或完整詞組或是語(yǔ)句.
          想拖動(dòng)一個(gè)注釋符號(hào)或是大括號(hào)之類(lèi)的就不那么方便了.

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

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

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

          僅列出標(biāo)題
          共14頁(yè): First 上一頁(yè) 6 7 8 9 10 11 12 13 14 
          主站蜘蛛池模板: 海城市| 广德县| 靖州| 介休市| 霸州市| 黑水县| 文成县| 车致| 宜黄县| 岗巴县| 边坝县| 牙克石市| 苍山县| 固原市| 临夏县| 荃湾区| 兴海县| 玛纳斯县| 个旧市| 大理市| 宁津县| 诏安县| 延长县| 原阳县| 锦州市| 黔南| 平远县| 临朐县| 青河县| 桦南县| 福贡县| 宁化县| 大渡口区| 孝义市| 常山县| 金溪县| 桐梓县| 隆德县| 景泰县| 新民市| 额尔古纳市|