freefly
一门技术,如果不能讲出来,那么就是没有理解,如果不能很好的讲出来,那么就是理解不够透彻!
posts - 9,comments - 3,trackbacks - 0
1。我们可以做一个平凡的人,但决不能做一个平庸的人
2。给生活一个笑脸,生活会给你一个太阳
3。路漫漫其修远兮,情深深且珍惜
posted @ 2007-01-16 13:56 freefly 阅读(199) | 评论 (0)编辑 收藏
  1. create view

          ORACLE:    CREATE OR REPLACE VIEW V_FA_ADD_CO AS

             SQLSEVER:    IF EXISTS (SELECT 1
                                                            FROM  sysobjects
                                                            WHERE  idobject_id ('V_FA_ADD_CO')
                                                             AND   type = 'V')
                                    DROP VIEW V_FA_ADD_CO;
                                    CREATE VIEW V_FA_ADD_CO AS

    
2. the equal between join and (+)
      
       the table(its fields stay with (+)) right  join another  corresponding   table.
       for example: select * from a,b where a.id=b.id(+)
               equals  select * from b rigth join a on a.id=b.id
               equals  select * from a left join a on a.id=b.id

        notes:join先匹配有对应的记录,
              (+)却是按顺序来的
 

    3. substr,substring
     
for example: there is a table's field "userName" and it's value is "wanghuiling".
       sqlserver: substring(userName,0,4) = "wan",substring(userName,1,4) = "wang"
       oracle:  substr(userName,0,4)="wang",substr(userName,1,4)="wang"
   
 4. link sign
     sqlserver: "+"
    
oracle:"||"
 
5. update a table's some fields

     for example:there are two tables: students1 and students2

     sqlserver:update students     (can't use alias)
                   set name=s2.name,sex=s2.sex,age=s2.age,tel=s2.tel
                   from students s2 where s1.id=s2.id;
     oracle: update students1 s1
               set (name,sex,age,tel)=
               (select name,sex,age,tel from students2 s2 where s1.id=s2.id);

6. Date
    for example:there are a field of  date type:input_date  and its value is 2007-08-09.   
    sqlserver : year(input_date)=2007,month(input_date)=8,day(input_date)=9
     oracle : to_char(input_date,'YYYY')=2007, to_char(input_date,'MM')=8, to_char(input_date,'DD')=9

     sDate : a java String variable
     sqlserver : input_date = '"+sDate+"' 
     oracle : input_date =  to_char( '" + sDate + "',' 'YYYY-MM-DD'')

posted @ 2006-12-31 15:42 freefly 阅读(557) | 评论 (0)编辑 收藏

      Ultimatelly,I solved my problem.    My work is switch my application from mysql to sqlserver database .   At the very start,I forgot start sqlserver service,so the error "refused connect"  always appear,(so stupid error).Next,ther error  "Hibernate operation: could not execute query; uncategorized SQLException for SQL [select user0_.ID as ID, user0_.USERNAME as USERNAME0_, user0_.PASSWORD as PASSWORD0_ from user user0_]; SQL state [S1000]; error code [156]; 在关键字 'user' 附近有语法错误。; nested exception is java.sql.SQLException: 在关键字 'user' 附近有语法错误."   comes out ,  the problem scratchs my head over .this moring i got one friend's help and eventually found the "user" should not be used as a table name,because "user" is a key in sqlserver.  
      Below is work I have done : (Note: my env is eclipse+myeclipse)
      First:modify applicationContext.xml:
      
      From:
      1.<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
           <property name="driverClassName">
                 <value>com.mysql.jdbc.Driver</value>
           </property>
           <property name="url">
                <value>jdbc:mysql://localhost:3306/test</value>
           </property>
           <property name="username">
                <value>root</value>
           </property>
           <property name="password">
               <value>whl</value>
           </property>
        </bean>
     2. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
     
     To:
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
              <property name="driverClassName">
                   <value>net.sourceforge.jtds.jdbc.Driver</value>
              </property>
              <property name="url">
                   <value>jdbc:jtds:sqlserver://localhost:1433/test</value>
               </property>
               <property name="username">
                    <value>sa</value>
               </property>
               <property name="password">
                    <value>mssqlsys</value>
              </property>
         </bean>

        <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
      Second: import the sqlserver driver:jtds-1.1.jar

posted @ 2006-04-11 12:41 freefly 阅读(342) | 评论 (0)编辑 收藏
  1. Background

         Usually,When we develop our web application,we need create menu.We can use Javascript to design web menu,but if thus,we have to compile many codes,and our application hasn't good  revisability and maintainability .Struts-menu provides us a convenient web menu design way,we can put our web menu data in  a menu-config.xml configuration file,and read the data with struts-menu lable.

   2.  Struts  Menu Example
    
        You can go here http://demo.raibledesigns.com/struts-menu/ to see the example;
        Or download the example application :struts-menu-2.3.zip,follow the below instruction:  
               Unzip it to a local directory.  
               Download and install Tomcat or another Java Servlet container.  
               Put struts-menu.war in Tomcat's webapps folder and start the server. 
               Go to http://localhost:8080/struts-menu 

 3.   Integrating Struts Menu into your application

      1.  Place struts-menu-2.3.jar into your app's WEB-INF/lib directory.(maybe you also need put common-lang.jar)
      2.  Place struts-menu.tld,and struts-menu-el.tld into your app's WEB-INF directory
      3.  Copy the common,images,scripts,template,styles directory from the above struts-menu.war exmaple application  to your web directory.(if use Myeclipse,put those directorys in webroot directory)
      4.  Add the plug-in settings to your struts-config.xml file.                 
             
               <plug-in className="net.sf.navigator.menu.MenuPlugIn">
                         <set-property property="menuConfig"
                                     value="/WEB-INF/menu-config.xml"/>
                </plug-in>
     
        5.  You will need to declare your menu's attributes in a your App /WEB-INF/menu-config.xml file.Here's  a short  snippet of what might look like:        
       
             <Menu name="contactMenu" title="Contact" location="?Contact">
                  <Item name="email" title="E-Mail" location="?EMail"/>
                  <Item name="phone" title="Phone" location="?Phone"/>
             </Menu>
    
         6.   Add a taglib declaration to the top of your JSP: 

        <%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>

        7.  Add taglib code to render your menu in your JSP: 

               <menu:useMenuDisplayer name="TabbedMenu"
                   bundle="org.apache.struts.action.MESSAGE">
                    <menu:displayMenu name="Home"/>
                    <menu:displayMenu name="About"/>
               </menu:useMenuDisplayer>
       
          
       8.  Below is a whole test.jsp
            <%@ page contentType="text/html; charset=UTF-8" %>
            <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
            <%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>
            <html:html>
             <head>
             <html:base />
                 <title>menu</title>
   
                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      
                 <link rel="stylesheet" type="text/css" media="screen"
                               href="styles/global.css" />
                      <link rel="stylesheet" type="text/css" media="screen"
                              href="styles/coolmenu.css" />
    
                <script type="text/javascript" src="scripts/coolmenus4.js"></script>
                <script type="text/javascript" src="scripts/cm_addins.js"></script>
            </head>
 
            <body>
               <script type="text/javascript" src="scripts/coolmenu4-config.js"></script> 
   
               <menu:useMenuDisplayer name="CoolMenu4"
                   bundle="org.apache.struts.action.MESSAGE">
                   <menu:displayMenu name="Home"/>
                  <menu:displayMenu name="About"/>
              </menu:useMenuDisplayer>
          </body>
       </html:html>








              
        

posted @ 2006-04-05 15:23 freefly 阅读(529) | 评论 (0)编辑 收藏

 Here is my solution for  mess code on page,hope this can help you!
 The point is your database coding should be consistent with the coding of  character that you plan to insert into the database.
 Attention: Here,I take "UTF-8" as default character coding way .
 There are three steps:
 1. set page charset 
     e.g      <%@ page language="java" contentType="text/html; charset=UTF-8" %>
    
 2. create character filter:
     package com.victory.util;

     import javax.servlet.http.HttpServlet;
     import javax.servlet.Filter;
     import javax.servlet.FilterConfig;
     import javax.servlet.ServletException;
     import javax.servlet.ServletRequest;
     import javax.servlet.ServletResponse;
     import javax.servlet.FilterChain;
     import javax.servlet.http.*;
     import java.io.IOException;
     public class CharacterEncodingFilter
       extends HttpServlet
       implements Filter {

       private FilterConfig filterConfig;
       private String targetEncoding = "ASCII";

     /**
      * Called by the web container to indicate to a filter that it is being placed
      * into service.
      *
      * @param filterConfig FilterConfig
      * @throws ServletException
      * @todo Implement this javax.servlet.Filter method
     */
      public void init(FilterConfig filterConfig) throws ServletException {
      this.filterConfig = filterConfig;
      this.targetEncoding = filterConfig.getInitParameter("encoding");
     }

    /**
     * The <code>doFilter</code> method of the Filter is called by the container
     * each time a request/response pair is passed through the chain due to a
     * client request for a resource at the end of the chain.
     *
     * @param request ServletRequest
     * @param response ServletResponse
     * @param chain FilterChain
     * @throws IOException
     * @throws ServletException
     * @todo Implement this javax.servlet.Filter method
     */
     public void doFilter(ServletRequest srequest, ServletResponse sresponse,
                       FilterChain chain) throws IOException, ServletException {
      try {
        HttpServletRequest request = (HttpServletRequest) srequest;
        request.setCharacterEncoding(targetEncoding);
        chain.doFilter(srequest, sresponse);
          }
      catch (ServletException sx) {
         filterConfig.getServletContext().log(sx.getMessage());
          }
      catch (IOException iox) {
         filterConfig.getServletContext().log(iox.getMessage());
        }
      }

    /**
     * Called by the web container to indicate to a filter that it is being taken
     * out of service.
     *
     * @todo Implement this javax.servlet.Filter method
     */
     public void destroy() {
       filterConfig = null;
       targetEncoding = null;
     }
  }
  
  3.config web.xml
    attention: add these to your web.xml
     <filter>
     <filter-name>EncodingFilter</filter-name>
     <filter-class>com.victory.util.CharacterEncodingFilter</filter-class>
     <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
     </init-param>
    </filter>
    <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
     <url-pattern>/*</url-pattern>
    </filter-mapping> 
  4.set database configration
     modify the file:    my.ini
     [client]     default-character-set=utf8 
     [mysqld]  default-character-set=utf8
  5.restart Mysql server
  6.modified your table coding way to utf8

     or ceate your table like this :
     CREATE TABLE `user` (
    `ID` int(11) NOT NULL auto_increment,
    `USERNAME` varchar(50) NOT NULL default '',
    `PASSWORD` varchar(50) NOT NULL default '',
     PRIMARY KEY  (`ID`)
     ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
  7.restrart your tomcat sever

   OK,it's all.

   Authrougn I have sovled   my problem, I think I  don't have enough understanding for it,  So hope    communicate with you! 

   Attention:mess code also exist in your database,through page hasn't mess code.
   
     


   
  
       
     

posted @ 2006-03-23 13:07 freefly 阅读(433) | 评论 (0)编辑 收藏