MySql与Tomcat的两个小Tips

        第一个Tip是与数据库有关。通常,数据表在创建了之后都不可避免的需要增加或者删除表中的列(Column),那么我们通过什么方式去做呢?重新创建一张表再将数据导入恐怕是一个很笨的办法了,费时又费力。事实上,只要使用一句简单的SQL就能实现我们所想要的了,这个就是ALTER TABLE。ALTER TABLE的功能很强大,它几乎可以改变与表结构相关的一切信息,譬如增加删除列,修改列名,增加删除索引(Index),增加删除主键等。在这里以主要说一下增加和删除列,ALTER TABLE其他的功能可以参考相应数据库的操作手册。
        以MySql为例,ALTER TABLE应用于增加列的语法为:ALTER TABLE table_name ADD [COLUMN] column_name column_descripiton;删除列的语法为:ALTER TABLE table_name DROP COLUMN column_name。
        例如: ALTER TABLE PLAYER ADD SCORE INT NOT NULL。这条SQL执行后,在PLAYER表中会增加一个名为SCORE的列,这个列的数据类型是INT,而且是不能为空。因为这个列不能为空,所以每一行数据的该列(例子中就是SCORE了)都会拥有相应的初始值,如INT的初始值是0。
        又例如:ALTER TABLE PLAYER DROP COLUMN SCORE。这条SQL执行后,PLAYER表中的SCORE列就会被移除,对应所有行的该列数据也相应移除了。

        另外一个Tip则是与Tomcat相关。当你使用Tomcat作为Web Server的时候,是不是会想过这样的一个问题:如何利用Tomcat建立两个Web Server,同时侦听来自不同端口的请求呢?要实现这一点是很简单的。以下假设Tomcat安装在D:\Tomcat5.0目录下。
        Tomcat在启动的时候,都会从D:\Tomcat5.0\conf\server.xml中获得server启动的一些基本信息;在server.xml中,你会看到<Service>这个节点,如下所示: 

< Service  name ="Catalina" >
    
< Connector  acceptCount ="100"  connectionTimeout ="20000"  disableUploadTimeout ="true"  port ="8080"  redirectPort ="8443"  maxSpareThreads ="75"  maxThreads ="150"  minSpareThreads ="25" >
    
</ Connector >
    
< Connector  port ="8009"  protocol ="AJP/1.3"  protocolHandlerClassName ="org.apache.jk.server.JkCoyoteHandler"  redirectPort ="8443" >
    
</ Connector >
    
< Engine  defaultHost ="localhost"  name ="Catalina" >
      
< Host  appBase ="webapps"  name ="localhost" >
        
< Logger  className ="org.apache.catalina.logger.FileLogger"  prefix ="localhost_log."  suffix =".txt"  timestamp ="true" />
      
</ Host >
      
< Logger  className ="org.apache.catalina.logger.FileLogger"  prefix ="catalina_log."  suffix =".txt"  timestamp ="true" />
      
< Realm  className ="org.apache.catalina.realm.UserDatabaseRealm" />
    
</ Engine >
</ Service >

在<Service>节点下的第一个<Connector>节点,则定义了侦听的端口,以上例子就是8080。而对于<Service>节点本身,它的属性name的值是Catalina,这是一个关键的地方,接着就是<Engine>子节点,而它的属性defaultHost的值是localhost,这也是一个关键的地方。我们可以从D:\Tomcat5.0\conf下面找到一个名为Catalina的文件夹,在这个文件夹中还包含着一个名为localhost的文件夹。在localhost文件夹下面包含着很多xml,而这些xml就是每一个Web Application的Context配置文件了。根据这些信息,很容易就可以想到建立两个Web Server的方法了。
        首先,在D:\Tomcat5.0\conf 创建一个名为Fantasysoft(名字可以随你自己定了)的文件夹,然后在Fantasysoft下面在创建一个localhost的文件夹,然后将相应的Web Application的Context配置文件放到新建的localhost文件夹中;
        接着,在server.xml中对照已有的<Service>节点增加一个节点,将name属性改Fantasysoft,将port口都进行相应的修改。如下:

< Service  name ="Fantasysoft" >
    
< Connector  acceptCount ="100"  connectionTimeout ="20000"  disableUploadTimeout ="true"  port ="8090"  redirectPort ="8453"  maxSpareThreads ="75"  maxThreads ="150"  minSpareThreads ="25" >
    
</ Connector >
    
< Connector  port ="8019"  protocol ="AJP/1.3"  protocolHandlerClassName ="org.apache.jk.server.JkCoyoteHandler"  redirectPort ="8453" >
    
</ Connector >
    
< Engine  defaultHost ="localhost"  name ="Catalina" >
      
< Host  appBase ="webapps"  name ="localhost" >
        
< Logger  className ="org.apache.catalina.logger.FileLogger"  prefix ="localhost_log."  suffix =".txt"  timestamp ="true" />
      
</ Host >
      
< Logger  className ="org.apache.catalina.logger.FileLogger"  prefix ="catalina_log."  suffix =".txt"  timestamp ="true" />
      
< Realm  className ="org.apache.catalina.realm.UserDatabaseRealm" />
    
</ Engine >
</ Service >

        最后,重新启动Server,你就可以通过8090端口访问到你建立的网络应用程序了。

你可能感兴趣的:(apache,sql,tomcat,Web,mysql,server)