配置技巧 开发经验

eclipse configuration:
-Xms32m -Xmx512m -Xss10m

 

environment variable:

JAVA_OPTS:-Xms512m -Xmx1024


tomcat configuration:
-Xms512m -Xmx512m -Xss10m -XX:CompileThreshold=8000 -XX:PermSize=32m -XX:MaxPermSize=128m -Xverify:none -da

 

@echo off
"%JAVA_HOME%\bin\jar" -cvf format.jar *
pause

 

js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,

相应3个解码函数:unescape,decodeURI,decodeURIComponent

<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("地")+'">s</a>

 

得到classpath和当前类的绝对路径的一些方法

FileTest.class.getClassLoader().getResource("")

FileTest.class.getResource("")

Thread.currentThread().getContextClassLoader().getResource("")

ClassLoader.getSystemResource("")

Thread.currentThread().getContextClassLoader().getResource("")

在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径

 

JDBC connection string

com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:microsoft:sqlserver://localhost:1433;databaseName=northwind;user=sa;password=
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/addressbooksample?useUnicode=true&characterEncoding=utf-8
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@localhost:1521:db

 

导入数据的时候,MYSQL 报错:Data too long for column
解决办法:
在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的STRICT_TRANS_TABLES,去掉,
或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
注释掉,然后重启mysql就ok了
mysql4.1下设置:my.ini的mysqld段
character_set_client=utf8 
character_set_server=utf8

 

TOCAT5下 不能正常搜索中文的原因是,mvnForum使用GET方法提交搜索请求,所以搜索参数是通过QueryString传递的。而mvnForm在传递之前先用UTF-8进行了URL Encode,所以在接收参数是也应该用UTF-8进行URL Decode。问题出在Tomcat缺省认为URI编码是ISO-8859-1,所以在程序中使用request.getParameter读取参数时,会自动根据ISO-8859-1进行URL Decode,导致错误。解决办法如下:
方法一:
修改$TOMCAT/conf/server.xml文件,在HTTP Connector或者AJP Connector的配置加上URIEncoding="utf-8"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/>
方法二:
使用useBodyEncodingForURI="true". 这个方法适合你的TOMCAT实例下需要跑多个不同Encoding的程序时。
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" />
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" useBodyEncodingForURI="true" />

 

文件下载:

response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);

 

从数据流中取得图片数据并显示

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.initURI(request);
File file=new File(this.getServletContext().getRealPath("img\\map1\\"+this.imgName+".jpg"));
System.out.println(file);
FileInputStream fis=new FileInputStream(file);
System.out.println(fis);
int length=fis.available();
System.out.println(length);
byte[] data=new byte[length];
//read the stream data into the stream
fis.read(data);
fis.close();
OutputStream sos=response.getOutputStream();
//read the stream data into the output stream
response.setContentType("image/*");
sos.write(data);
sos.flush();
sos.close();
}

 

更改Tomcat默认目录+端口+设置缺省网页的方法
在<host></host>标签之间添加上:
<Context path="" docBase="myjsp" debug="0" reloadable="true" />
path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;
docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,
现在我在webapps目录下建了一个myjsp目录,让该目录作为我的默认目录。

 

清缓存

<%
    request.setAttribute("decorator", "none");
    response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
    response.setHeader("Pragma","no-cache"); //HTTP 1.0
    response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>

 

文件输入输出编码
InputStreamReader reader = new InputStreamReader(new FileInputStream("D:\\1.html"), "utf-8");

OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("D:\\1.html"),"utf-8");

 

分页SQL

SELECT x.* from (SELECT z.*,rownum numbers from(select * from TT where 1=1 order by id) z where rownum<101) x  where x.numbers>90;

SELECT * from tt where 1=1 order by id limit 0,2

 

spring datasource config:

<bean   id="dataSource"   class="org.apache.commons.dbcp.BasicDataSource"   destroy-method="close"> 
      <property   name="driverClassName"> 
      <value>oracle.jdbc.driver.OracleDriver</value> 
      </property> 
      <property   name="url"> 
      <value>jdbc:oracle:thin:@192.168.1.2:1521:server</value> 
      </property> 
      <property   name="username"> 
      <value>root</value> 
      </property> 
      <property   name="password"> 
      <value></value> 
      </property> 
</bean>

<bean id="dataSource"
        class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:/OracleDS"></property>
</bean>

 

spring local load:

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext_bbc.xml")

spring default load:

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
</listener>

 

urlwrite configuration:

<filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>confReloadCheckInterval</param-name>
            <param-value>60</param-value>
        </init-param>
        <init-param>
            <param-name>confPath</param-name>
            <param-value>/WEB-INF/urlrewrite.xml</param-value>
        </init-param>
        <!-- TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL -->
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
        <init-param>
            <param-name>statusEnabled</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>statusPath</param-name>
            <param-value>/status</param-value>
        </init-param>
</filter>
<filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

 

jstl taglib import:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

 

 

tomcat access log:

<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs" prefix="localhost_access_log." suffix=".txt"
                 pattern="combined" resolveHosts="false"/>

</Host>

 

statistics report:

<servlet>
    <servlet-name>chart</servlet-name>
    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>chart</servlet-name>
    <url-pattern>/report</url-pattern>
</servlet-mapping>


compress output:
<filter>
<filter-name>compress</filter-name>
<filter-class>com.caucho.filters.GzipFilter</filter-class>
<init-param>
 <param-name>compressionThreshold</param-name>
 <param-value>0</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>compress</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

linux下find和grep组合查找

find /usr/include -name "*.h" -exec grep "wcsncat" {} \;

 

在线QQ:

http://wpa.qq.com/msgrd?V=1&amp;Uin=718555748&amp;Site=tong.dxy.cn&amp;Menu=yes

在线MSN:

msnim:[email protected]

 

 

jdk 1.4以后版本,执行命令java 加入参数-Djava.awt.headless=true,表示这是一个没有键盘 没有显示器的无头服务器

假设文件图片 为p1,印章图片 为p2。
BufferedImage bi1 = null;
int x = 10;
int y = 10;
BufferedImage bi2 = null;
try {
bi1 = javax.imageio.ImageIO.read(new File("p1.jpg"));
bi2 = javax.imageio.ImageIO.read(new File("p2.png"));
} catch (IOException e) {
e.printStackTrace();
}

Graphics g = bi1.getGraphics();
g.drawImage(bi2, x, y, null);

FileOutputStream out=null; //输出到文件流

try {
out = new FileOutputStream("p.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(bi1);
out.close();
} catch (IOException e) {
e.printStackTrace();
}

p1背景图,p2印章,p为输出图。p2要是gif或png等支持透明图象的。

x,y 为在背景图放置印章的坐标( 左上角开始算)。

 

在Java2D中设置画图的透明度:

float alpha = 0.5f; // 透明度
Graphics2D g2d = bufferedImage.createGraphics();

// 设置透明
g2d.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_ATOP, alpha)); // 开始
// g2d.drawImage(); // 画图
g2d.setComposite(AlphaComposite.getInstance(
AlphaComposite.SRC_OVER)); // 结束

你可能感兴趣的:(oracle,tomcat,mysql,servlet,jdbc)