??xml version="1.0" encoding="utf-8" standalone="yes"?>成人免费激情视频,国产亚洲一二三区,亚洲第一偷拍http://www.aygfsteel.com/KingKong/category/19758.html贵在坚持!zh-cnMon, 10 Oct 2011 11:23:49 GMTMon, 10 Oct 2011 11:23:49 GMT60- hello,架构worldhttp://www.aygfsteel.com/KingKong/archive/2011/04/28/349166.htmlsure_dandansure_dandanThu, 28 Apr 2011 03:05:00 GMThttp://www.aygfsteel.com/KingKong/archive/2011/04/28/349166.htmlhttp://www.aygfsteel.com/KingKong/comments/349166.htmlhttp://www.aygfsteel.com/KingKong/archive/2011/04/28/349166.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/349166.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/349166.html
面静态化(apache?)
存储分离,面囄分开
数据库的水^分割和垂直分?br />
各层的缓存技?Oracle(cache group),hibernate(session~存,sessionFactory~存,好像名字叫Ehcache ),memcache,oscache
负蝲均衡:集群? 7层模型每一层都有解x?img src ="http://www.aygfsteel.com/KingKong/aggbug/349166.html" width = "1" height = "1" />
]]> - 什么是可滚动的ResultSethttp://www.aygfsteel.com/KingKong/archive/2011/01/10/342697.htmlsure_dandansure_dandanMon, 10 Jan 2011 09:19:00 GMThttp://www.aygfsteel.com/KingKong/archive/2011/01/10/342697.htmlhttp://www.aygfsteel.com/KingKong/comments/342697.htmlhttp://www.aygfsteel.com/KingKong/archive/2011/01/10/342697.html#Feedback1http://www.aygfsteel.com/KingKong/comments/commentRss/342697.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/342697.html
q个cd支持前后滚动取得U录nextQ)、previous()Q回到第一行first()Q同时还支持要去的ResultSet中的W几行absoluteQint nQ,以及Ud到相对当前行的第几行relative(int n)Q要实现q样的ResultSet在创建Statement时用如下的方法?
Statement st = conn.createStatement(int resultSetType, int resultSetConcurrency)
ResultSet rs = st.executeQuery(sqlStr)
其中两个参数的意义是Q?
resultSetType是设|ResultSet对象的类型可滚动Q或者是不可滚动。取值如下:(x)
ResultSet.TYPE_FORWARD_ONLY只能向前滚动
ResultSet.TYPE_SCROLL_INSENSITIVE和Result.TYPE_SCROLL_SENSITIVEq两个方法都能够实现L的前后滚动,使用各种Ud的ResultSet指针的方法。二者的区别在于前者对于修改不敏感Q而后者对于修Ҏ(gu)感?
resultSetConcurency是设|ResultSet对象能够修改的,取值如下:(x)
ResultSet.CONCUR_READ_ONLY 讄为只ȝ型的参数?
ResultSet.CONCUR_UPDATABLE 讄为可修改cd的参数?
所以如果只是想要可以滚动的cd的Result只要把Statement如下赋值就行了?
Statement st = conn.createStatement(Result.TYPE_SCROLL_INSENITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.excuteQuery(sqlStr)Q?/pre>

]]>
- 按长度分割字W串,遇到中文的处?/title>http://www.aygfsteel.com/KingKong/archive/2009/09/22/296088.htmlsure_dandansure_dandanTue, 22 Sep 2009 14:32:00 GMThttp://www.aygfsteel.com/KingKong/archive/2009/09/22/296088.htmlhttp://www.aygfsteel.com/KingKong/comments/296088.htmlhttp://www.aygfsteel.com/KingKong/archive/2009/09/22/296088.html#Feedback1http://www.aygfsteel.com/KingKong/comments/commentRss/296088.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/296088.html

/**
* 按照指定长度字W串q行分割,中文字符?个长?br />
* @param str 字符?br />
* @param length 指定长度
* @return 如果字符串长度超出指定长?br />
* ,则将字符串分?个部?分别装在map?br />
*/

public static Map getStr(String str, int length) {
HashMap hashMap = new HashMap();
String addr1 = "";
String addr2 = "";

byte tmpBytes[] = str.getBytes();
int iByteLen = tmpBytes.length;

if (iByteLen > length) {
int iLen = 0;

for (int i = 0; i < length; i++) {

if ((tmpBytes[i] & 0xFF) > 0x80) {
iLen += 2;
i++;
continue;

} else {
iLen += 1;
continue;
}
}

addr1 = new String(tmpBytes, 0, iLen);
addr2 = new String(tmpBytes, iLen, iByteLen - iLen);

} else {
addr1 = str;
}
hashMap.put(new Integer(1), addr1);
hashMap.put(new Integer(2), addr2);
return hashMap;
}
0x80{于十进制的128,Turbo C中规定对ASCII码值大?x80的字W将被认为是负数?br />

]]> - 同时使用struts2和springMVC需要注意的事项http://www.aygfsteel.com/KingKong/archive/2009/04/20/266579.htmlsure_dandansure_dandanMon, 20 Apr 2009 08:58:00 GMThttp://www.aygfsteel.com/KingKong/archive/2009/04/20/266579.htmlhttp://www.aygfsteel.com/KingKong/comments/266579.htmlhttp://www.aygfsteel.com/KingKong/archive/2009/04/20/266579.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/266579.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/266579.htmlurl-pattern!!!

]]> - 获取有\径的文g的文件名http://www.aygfsteel.com/KingKong/archive/2009/04/18/266324.htmlsure_dandansure_dandanSat, 18 Apr 2009 12:14:00 GMThttp://www.aygfsteel.com/KingKong/archive/2009/04/18/266324.htmlhttp://www.aygfsteel.com/KingKong/comments/266324.htmlhttp://www.aygfsteel.com/KingKong/archive/2009/04/18/266324.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/266324.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/266324.html

public String getOriginalFilename(String filePath) {
String filename = filePath;

if (filename == null) {
return "";
}
int pos = filename.lastIndexOf("/");

if (pos == -1) {
pos = filename.lastIndexOf("\\");
}

if (pos != -1) {
return filename.substring(pos + 1);

} else {
return filename;
}
}
]]> - 数点后面保留几位的格式http://www.aygfsteel.com/KingKong/archive/2009/04/08/264436.htmlsure_dandansure_dandanWed, 08 Apr 2009 04:41:00 GMThttp://www.aygfsteel.com/KingKong/archive/2009/04/08/264436.htmlhttp://www.aygfsteel.com/KingKong/comments/264436.htmlhttp://www.aygfsteel.com/KingKong/archive/2009/04/08/264436.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/264436.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/264436.html
]]> - 使用tomcatӞ在IE中能自动打开excelhttp://www.aygfsteel.com/KingKong/archive/2009/03/26/262039.htmlsure_dandansure_dandanThu, 26 Mar 2009 02:29:00 GMThttp://www.aygfsteel.com/KingKong/archive/2009/03/26/262039.htmlhttp://www.aygfsteel.com/KingKong/comments/262039.htmlhttp://www.aygfsteel.com/KingKong/archive/2009/03/26/262039.html#Feedback1http://www.aygfsteel.com/KingKong/comments/commentRss/262039.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/262039.html在web.xml中加?br />
<mime-mapping>
<extension>xls</extension>
<mime-type>application/excel</mime-type>
</mime-mapping>
服务器端同时安装上Excel

]]>- 使用spring发送邮?/title>http://www.aygfsteel.com/KingKong/archive/2008/10/18/235173.htmlsure_dandansure_dandanSat, 18 Oct 2008 08:18:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/10/18/235173.htmlhttp://www.aygfsteel.com/KingKong/comments/235173.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/10/18/235173.html#Feedback4http://www.aygfsteel.com/KingKong/comments/commentRss/235173.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/235173.html阅读全文

]]> - spring配置事务http://www.aygfsteel.com/KingKong/archive/2008/10/15/234541.htmlsure_dandansure_dandanWed, 15 Oct 2008 14:47:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/10/15/234541.htmlhttp://www.aygfsteel.com/KingKong/comments/234541.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/10/15/234541.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/234541.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/234541.html
<!-- 配置事务开?nbsp;-->
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="del*" propagation="REQUIRED"/>
<tx:method name="update*"/>
</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="testTxAop"
expression="execution(* com.sure.demo.dao.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="testTxAop" />
</aop:config>
<!-- 配置事務i束 -->
使用事务的时?在DAO׃要用try{}catch{}?因ؓ(f)在catch里面捕获的异?spring的事务貌g能去回滚
]]> - aop拦截springmvc的action不成?(已解?http://www.aygfsteel.com/KingKong/archive/2008/09/22/230524.htmlsure_dandansure_dandanMon, 22 Sep 2008 15:19:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/09/22/230524.htmlhttp://www.aygfsteel.com/KingKong/comments/230524.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/09/22/230524.html#Feedback10http://www.aygfsteel.com/KingKong/comments/commentRss/230524.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/230524.html
下面是代?
1.springmvc的action:
package com.sure.demo.web;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;


public class DemoTestAction extends MultiActionController {

//q回的test面
private String testPage;

public String getTestPage() {
return testPage;
}


public void setTestPage(String testPage) {
this.testPage = testPage;
}




/**
* test入口
* @param request
* @param response
* @return
* @throws Exception
*/
public ModelAndView test(HttpServletRequest request,

HttpServletResponse response) throws Exception {
ModelAndView mav = null;
mav = new ModelAndView(this.getTestPage());
request.setAttribute("test", new Date().toString());
return mav;
}
}
2.jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%
String test = (String)request.getAttribute("test");
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
当前旉?<%=test %> <br>
</body>
</html>

3.aop代码:
package com.sure.aopdemo;

import org.aspectj.lang.JoinPoint;


public class AopDemoTestImpl {


public void afterTest(JoinPoint joinPoint) {
System.out.println("aop--执行c?"+joinPoint.getThis()+"?/span>"+joinPoint.getSignature().getName()+"Ҏ(gu)之后");
}


public void beforeTest(JoinPoint joinPoint) {
System.out.println("aop--执行c?"+joinPoint.getThis()+"?/span>"+joinPoint.getSignature().getName()+"Ҏ(gu)之前");
}


public void exceptionTest() {
System.out.println("aopҎ(gu)异常");
}

}
4.xml关于aop的配|?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="aopDemoTestImpl" class="com.sure.aopdemo.AopDemoTestImpl"></bean>
<aop:config>
<aop:aspect id="test" ref="aopDemoTestImpl">
<aop:pointcut id="a" expression="execution(* com.sure.demo..*.*(..))"/>
<aop:before method="beforeTest" pointcut-ref="a"/>
<aop:after method="afterTest" pointcut-ref="a"/>
<aop:after-throwing method="exceptionTest" pointcut-ref="a"/>
</aop:aspect>
</aop:config>
</beans>
]]> - dom4j写文件ƈ讄encodinghttp://www.aygfsteel.com/KingKong/archive/2008/08/20/223360.htmlsure_dandansure_dandanWed, 20 Aug 2008 15:50:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/08/20/223360.htmlhttp://www.aygfsteel.com/KingKong/comments/223360.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/08/20/223360.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/223360.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/223360.html
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
output = new XMLWriter(new FileWriter(new File(filename)), format);
output.write(document);
2.先删文g再创?br />
File file = new File("d://xxx.xml");
if(file.exists()){
file.delete();
}
CreatXml temp = new CreatXml();
temp.createXMLFile("d://xxx.xml")

]]> - 部v应用到jboss的一些问?/title>http://www.aygfsteel.com/KingKong/archive/2008/08/19/222897.htmlsure_dandansure_dandanMon, 18 Aug 2008 16:09:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/08/19/222897.htmlhttp://www.aygfsteel.com/KingKong/comments/222897.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/08/19/222897.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/222897.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/222897.html1.要将驱动拷到\jboss-4.0.3\server\default\lib q个文g多w面去?/p>
2.在数据源(q接?的地方加个这个:(x)<use-java-context>false</use-java-context>Q能保证在java中查找数据源的时?br />
ctx.lookup("jdbc/xxx");׃需要写成ctx.lookup("java:/jdbc/xxx");

]]> - 试下数据连接池http://www.aygfsteel.com/KingKong/archive/2008/07/31/219169.htmlsure_dandansure_dandanThu, 31 Jul 2008 14:16:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/07/31/219169.htmlhttp://www.aygfsteel.com/KingKong/comments/219169.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/07/31/219169.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/219169.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/219169.html阅读全文

]]> - 部v的时候遇到的一些问题及解决http://www.aygfsteel.com/KingKong/archive/2008/04/28/196768.htmlsure_dandansure_dandanMon, 28 Apr 2008 07:39:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/04/28/196768.htmlhttp://www.aygfsteel.com/KingKong/comments/196768.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/04/28/196768.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/196768.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/196768.html一.环境:JDK1.4,tomcat5.0.28,部v的时候报?java.lang.UnsupportedClassVersionError.出错原因:~译和执行用了不同的jdk版本,(因ؓ(f)以前用过1.5,1.6),所以重新设|环境变量后,再重新发?又报新的错误: The type java.lang.Object cannot be resolved.It is indirectly referenced from required.class files。出错原?因ؓ(f)装了多个版本的jre或jdk的原因。本来Eclipse在徏立工E时Q会(x)自动参照jre路径Q但多个版本没办法了?br />
解决Ҏ(gu):
1. q入window\preferences\java\Installed JREs
1)按Add
2)输入JRE Name, 例JDK1.5.0.08
3)JRE home directory, 选择安装的\?br />
4)按OK
2. q入Project\properties\Java Bulid Path
1)Add library
2)选JRE System Library后按Next
3)选workplace default JRE后按finish...
最后还是没解决...q脆直接把机器里面所有的jdk都卸载了,只装了一个JDK1.4(应用需要的,有个地方不支持其他版本的JDK),然后重新讄了环境变?新装了下myeclipse,在应用上面将jars加进?在add library的地方将jre system library加进d好了.
?环境:JDK1.4,jboss4.0.4
部v好后,启动,?x)报一个错,关于log4j?q个是因为应用本来带了一个log4j的包,而jboss自己也集成了log4j?所以load的时候造成冲突,解决Ҏ(gu):到Jboss4.0\server\default\confq个目录下,扑ֈl(f)og4j.xmlҎ(gu)jboss-log4j.xmlQ再到jboss-service.xml扄应的地方改一?
?有关q
1.对于tomcat,在server.xml文g扑ֈ<Connector port="8080".../>q段(8080是你Tomcat的端?Q在q段里加URIEncoding="GBK"?
2.对于jboss,在\server\default\deploy\jbossweb-tomcat55.sar\server.xml,同tomcat

]]> - 试正则表达?/title>http://www.aygfsteel.com/KingKong/archive/2008/02/26/182136.htmlsure_dandansure_dandanTue, 26 Feb 2008 01:35:00 GMThttp://www.aygfsteel.com/KingKong/archive/2008/02/26/182136.htmlhttp://www.aygfsteel.com/KingKong/comments/182136.htmlhttp://www.aygfsteel.com/KingKong/archive/2008/02/26/182136.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/182136.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/182136.html

/** *//**
*
* @param regEx 讑֮的正则表辑ּ
* @param tempStr pȝ参数中的讑֮的字W串
* @return 是否pȝ参数中的讑֮的字W串含有讑֮的正则表辑ּ
* 如果有的则返回true
*/

public static boolean isHaveBeenSetting(String regEx,String tempStr){
boolean result = false;

try{
Pattern p = Pattern.compile(regEx);
Matcher m=p.matcher(tempStr);
result=m.find();

}catch (Exception e) {
e.printStackTrace();
}
return result;
}
替换Q?br />

/** *//**
* 字W串含有的regEx表达式替换ؓ(f)replaceRegEx
*
* @param regEx 需要被替换的正则表辑ּ
* @param tempStr 替换的字W串
* @param replaceRegEx 替换的正则表辑ּ
* @return 替換好后的字W串
*/

public static String replaceStr(String regEx, String tempStr, String replaceRegEx) {
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(tempStr);
tempStr = m.replaceAll(replaceRegEx);

return tempStr;
}
后来发现替换q个Ҏ(gu)可以用jarkata commons中的StringUtils.replace(tempStr, regEx, replaceRegex)来代?

]]> - 一个SQL异常http://www.aygfsteel.com/KingKong/archive/2007/06/04/121968.htmlsure_dandansure_dandanMon, 04 Jun 2007 10:52:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/06/04/121968.htmlhttp://www.aygfsteel.com/KingKong/comments/121968.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/06/04/121968.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/121968.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/121968.html
原因是因为没?rs.next() 。我直接用的rs!=null。即使SQL弄出来只有一条记录,也得用这?

]]> - 用jxldEXCEL的内?/title>http://www.aygfsteel.com/KingKong/archive/2007/03/14/103805.htmlsure_dandansure_dandanWed, 14 Mar 2007 08:09:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/03/14/103805.htmlhttp://www.aygfsteel.com/KingKong/comments/103805.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/03/14/103805.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/103805.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/103805.html
import java.io.File;
import jxl.*;


public class Test2 {


public static void main(String[] args) {

try {
Workbook book = Workbook.getWorkbook(new File("试.xls"));
// 获得W一个工作表对象
Sheet sheet = book.getSheet(0);
// 得到单元?/span>

for (int i = 0; i < sheet.getColumns(); i++) {

for (int j = 0; j < sheet.getRows(); j++) {
Cell cell = sheet.getCell(i, j);
System.out.print(cell.getContents() + " ");
}
System.out.println();
}
book.close();

} catch (Exception e) {
System.out.println(e);
}
}
}
最后的l果׃(x)昄excel文g里面的内容了。JXL和POI差不多。POI用的是HSSF开头的Q其他都差不多,开始的时候要先用一?输入来d文g?img src ="http://www.aygfsteel.com/KingKong/aggbug/103805.html" width = "1" height = "1" />
]]> - 分n我的JAVA学习(fn)计划之第二阶D?/title>http://www.aygfsteel.com/KingKong/archive/2007/01/31/96818.htmlsure_dandansure_dandanTue, 30 Jan 2007 16:15:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/31/96818.htmlhttp://www.aygfsteel.com/KingKong/comments/96818.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/31/96818.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/96818.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/96818.htmlJAVA|络~程QSocketQ、HTML、XML、JSP、JavaBean、ServletQ后?个是重点Q?br />要求Q?br />Socket--------掌握java.io包中的套接口cd服务器套接口cȝ使用?br />HTML--------了解HTML语言的语法、各U标{?br />XML--------掌握XML语言的语法,其他的了解下?br />JSP-------掌握JSP2.0语法、五大元素、内|对象、EL、JSTL1.1、JSP自定标签?br />JavaBean-------理解JavaBean的特点和事g模型?br />Servlet---------掌握HTTP协议、Servlet工作q程、Servlet?x)话跟踪、Servletqo(h)器、Serlvet事g侦听器、配|web.xml?br />PSQ?------学习(fn)q程中学?x)用Tomcat、JBoss服务器,学习(fn)使用myeclipse、dreamweaver、junit开发工兗?br />另外,x一下EJB3.0?br />

]]> - 分n我的JAVA学习(fn)计划之第一阶段http://www.aygfsteel.com/KingKong/archive/2007/01/31/96817.htmlsure_dandansure_dandanTue, 30 Jan 2007 16:05:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/31/96817.htmlhttp://www.aygfsteel.com/KingKong/comments/96817.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/31/96817.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/96817.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/96817.htmlW一阶段Q?br />JAVA语言基础知识。包括异常、IO、多U程、集合类。常见的几个包、几个接口?br />要求Q?br />异常------掌握try-catch-finally的?br />IO?-----掌握字节、字W流和对象序列化的处理。熟l用各U输入、输出流c(InputStream、OutputStream、FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、ObjectInputStream、ObjectOutputStreamQ?br />多线E?------掌握多线E实现的两种实现Ҏ(gu)Q分别是l承ThreadcM实现Runnable接口。理解线E间的同步与互斥?br />集合c?------掌握Set、Collection、Map、List、Iterator、Enumeration接口的用,掌握HashSet、ArrayList、Vector、HashMap、HashTablecȝ使用?br />常用的包Qjava.langQjava.utilQjava.ioQjava.netQjava.awtQjavax.swing
另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859~码方式。以及怎么处理q的方法?br />了解javase1.5新增的内容:(x)自动装箱/拆箱Q泛型之cȝ?br />
]]> - 计算M一天是星期几的法Q拿来主义)http://www.aygfsteel.com/KingKong/archive/2007/01/16/94321.htmlsure_dandansure_dandanTue, 16 Jan 2007 15:07:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/16/94321.htmlhttp://www.aygfsteel.com/KingKong/comments/94321.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/16/94321.html#Feedback3http://www.aygfsteel.com/KingKong/comments/commentRss/94321.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/94321.htmlq日在论坛上看到有h在问星期法Q特别整理了一下,q些法都是从网上搜索而来。希望对大家有所帮助?
一Q常用公?/strong>
W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D
Y是年份数QD是这一天在q一q中的篏U天敎ͼ也就是这一天在q一q中是第几天?/font>
二:(x)蔡勒QZellerQ公?/font>
w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的W号含义如下QwQ星期;cQ世U;yQ年Q两位数Q; mQ月Qm大于{于3Q小于等?4Q即在蔡勒公式中Q某q的1?月要看作上一q的13?4月来计算Q比?003q??日要看作2002q的13?日来计算Q;dQ日Q[ ]代表取整Q即只要整数部分?/font>
相比于通用通用计算公式而言Q蔡勒(ZellerQ公式大大降低了计算的复杂度?/font>
三:(x)对蔡勒(ZellerQ公式的改进
作者:(x)冯思琮
相比于另外一个通用通用计算公式而言Q蔡勒(ZellerQ公式大大降低了计算的复杂度。不q,W者给出的通用计算公式g更加z(包括q算q程Q。现公式列于其下:(x)
W=[y/4]+r (y/7)-2r(c/4)+m’+d
公式中的W号含义如下Qr ( )代表取余Q即只要余数部分Qm’是m的修正数Q现l出1?2月的修正?’?2’如下Q(1’Q?0’Q?6Q(2’Q?’Q?1’Q?2Q(4’Q?’Q?5Q?’=0Q?’=3Q?’=1Q(9’Q?2’Q?4Q注意:(x)在笔者给出的公式中,y为润q时1’=5Q?’=1Q。其他符号与蔡勒QZellerQ公式中的含义相同?/font>
四:(x)基姆拉尔计公?/font>
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日数Qm表示月䆾敎ͼy表示q数?/font>
注意Q在公式中有个与其他公式不同的地方:(x)
把一月和二月看成是上一q的十三月和十四月,例:(x)如果?004-1-10则换成Q?003-13-10来代入公式计?/font>

]]> - Thread中很l典的例子:(x)生者与消费?/title>http://www.aygfsteel.com/KingKong/archive/2007/01/15/93832.htmlsure_dandansure_dandanSun, 14 Jan 2007 16:27:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/15/93832.htmlhttp://www.aygfsteel.com/KingKong/comments/93832.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/15/93832.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/93832.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/93832.html先来个小ȝQ?br />
yield()使当前线E暂停。但讄了setPriority(Thread.MAX_PRIORITY);Ӟyield()不咋用了?/p>
一般只需要重写run()Ҏ(gu)的话Q实现runnalbe接口比较方便?/p>
如果在进E类里面需要访问同一个变量的话,实现接口。如果用l承cȝ话,同一个变量就有几份的拯。但是内部类l承cȝl和l承接口的效果一栗?/p>
启动一个线E?br />MyThread mt=new MyThread();
new Thread(mt).start();
好多东西都有旉片。时间片是个不确定的东西?/p>
当调用wait(),notify()Ҏ(gu)Ӟ应该保证他们是同一个对象sy也要同一个对象。synchronized ?才能有wait(),notify()Ҏ(gu)?/p>
synchronized(Object obj)与synchronized(this)的区?!(谁能告诉?!!!!)
下面是生产者与消费者的例子Qؓ(f)了方便,几个cȝ接写在一起了?br />
//new 生者,消费者,队列。ƈL(fng)生者,消费者的U程
public class Test {
public static void main(String[] args) {
Queue q = new Queue();
Producer p = new Producer(q);
Consumer c = new Consumer(q);
p.start();
c.start();
}
}
//生者,每生产好一个东西后Q就往队列中放一?/font>
class Producer extends Thread {
Queue q;
Producer(Queue q) {
this.q = q;
}
public void run() {
for (int i = 0; i < 10; i++) {
q.setValue(i);
System.out.println("Producer put:" + i);
}
}
}
//消费者,每当队列中有东西通知Ӟ׃队列L
class Consumer extends Thread {
Queue q;
Consumer(Queue q) {
this.q = q;
}
public void run() {
while (true) {
System.out.println("Consumer get:" + q.getValue());
}
}
}
//队列
class Queue {
int value;
boolean flag = false;
//生者往q放它所生的东?br /> public synchronized void setValue(int i) {
//当生产好一个往队列中放了后Q放|一个标志。发个通知Q告诉说生好了Qƈ{待消费者来?br /> if (!flag) {
value = i;
flag = true;
notify();
}
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//消费者从q获取东?/font>
public synchronized int getValue() {
//消费q先判断队列是否有东西了Q有的话Q就让其他线E等待,自己取拿Q拿好后讄一个标志,发个通告告诉其他U程Q我拿好?/font>
if (!flag) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
flag = false;
notify();
return value;
}
}

]]> - 集合ȝhttp://www.aygfsteel.com/KingKong/archive/2007/01/14/93692.htmlsure_dandansure_dandanSat, 13 Jan 2007 16:40:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/14/93692.htmlhttp://www.aygfsteel.com/KingKong/comments/93692.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/14/93692.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/93692.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/93692.html1.
集合框架分ؓ(f)Collection和Map。Collection包括set和List?/p>
2.
CollectionQ集合层ơ中的根接口QJDK没有提供q个接口直接的实现类?br />SetQ不能包含重复的元素。SortedSet是一个按照升序排列元素的Set?br />ListQ是一个有序的集合Q可以包含重复的元素。提供了按烦引访问的方式?br />MapQ包含了key-value寏VMap不能包含重复的key。SortedMap是一个按照升序排列key的Map?/p>
3.
凡是l承了collection的接口的Q都有iterator的方法?/p>
4.
对于没有get的集合类Q可以用爹带器。而且爹带器是通用的?/p>
5.
collections是类Q都是静态的。里面有几个Ҏ(gu)是拿来排序的?如sortҎ(gu))。compared是个比较器?br />collection是接口?/p>
6.
Stack里面的pop和push有点像get和set?br />Queue和Stack差不多,但是是FIFO?/p>
7.
因ؓ(f)hashset计算出对应的函数|以这个gl点存储在散列表中的地址,所以对查找的效率非帔R?br />实现set接口的能不能重复?br />hashset通过散列码来存储Q而散列码的获得靠hashcode来得到。hashcodeҎ(gu)对象的内存的地址来得到散列码?/p>
8.
hashmap靠put填元素,靠get取元素。HashMap对keyq行散列?br />三个Ҏ(gu)keySet()、values()、entrySet()?/p>
9.
在List的开始处增加元素Q或者在List中进行插入和删除操作Q应该用LinkedList。如果单单是Z查询Q就用ArrayList。因为ArrayList底层采用数组完成Q而LinkedList则是以一般的双向链表(double-linked list)完成Q其内每个对象除了数据本w外Q还有两?引用Q分别指向前一个元素和后一个元素?/p>
10.
HashSet是基于Hash法实现的,其性能通常都优于TreeSet。通常都应该用HashSetQ在需要排序的功能Ӟ我们才用TreeSet?/p>
11.
和SetcMQHashMap的速度通常都比TreeMap快,只有在需要排序的功能的时候,才用TreeMap?/p>

]]> - 一个最单的socketE序(包括服务器和客户?http://www.aygfsteel.com/KingKong/archive/2007/01/14/93691.htmlsure_dandansure_dandanSat, 13 Jan 2007 16:23:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/14/93691.htmlhttp://www.aygfsteel.com/KingKong/comments/93691.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/14/93691.html#Feedback2http://www.aygfsteel.com/KingKong/comments/commentRss/93691.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/93691.html服务?Q?
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.*;

public class Server {


public static void main(String[] args) throws Exception , IOException{
System.out.println("----Server start-----");
ServerSocket server=new ServerSocket(1234);
Socket socket=server.accept();
InputStream is=socket.getInputStream();
DataInputStream dis=new DataInputStream(is);
System.out.println(dis.readUTF());
dis.close();
is.close();
}
}

客户端:(x)
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.*;

public class Client {


public static void main(String[] args) throws Exception, IOException {
System.out.println("----client is running-----");
Socket socket=new Socket("192.168.1.3",1234);
OutputStream os=socket.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
dos.writeUTF("哈哈");
dos.close();
os.close();
}
}


]]> - 一个简单的JDBC和数据连接池的模板(我的^_^Q?/title>http://www.aygfsteel.com/KingKong/archive/2007/01/12/93539.htmlsure_dandansure_dandanFri, 12 Jan 2007 14:11:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/12/93539.htmlhttp://www.aygfsteel.com/KingKong/comments/93539.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/12/93539.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/93539.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/93539.html我的一个简单模板:(x)Q此处用的是mssql数据库)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class JdbcTest {

public void getConnection() throws SQLException, ClassNotFoundException{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String url ="jdbc:microsoft:sqlserver://localhost:1433:DatabaseName=pubs" ;
String user="sa";
String psw=null;
String sql="select * from authors";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection(url,user,psw);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);

if (rs.next()){
System.out.println("connection is ok!");
}

else{
System.out.println("connection is fail!");
}
rs.close();
stmt.close();
conn.close();
}

public static void main(String[] args) throws Exception {
JdbcTest test=new JdbcTest();
test.getConnection();
}
}
PS: 因ؓ(f)hQ所以直接对有异常的地方采用的是抛出异常Qƈ没捕莗?br />
三大数据库的驱动和URLQ?br />
MYSQLQ?br />
driver是 org.gjt.mm.mysql.driver
url是 jdbc:mysql://ip:port:databasename
ORACLE
driver是 oracle.jdbc.driver.oracledriver
url是 jdbc:oracle:thin@ip:port:sid
MSSQL
driver是 com.microsoft.jdbc.sqlserver.SQLServerDriver
url是 jdbc:microsoft:sqlserver://ip:port
]]> - EJB与JAVA BEAN的区?以及EJB3与EJB2的区别以及用EJB的原?/title>http://www.aygfsteel.com/KingKong/archive/2007/01/10/92789.htmlsure_dandansure_dandanTue, 09 Jan 2007 16:00:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/10/92789.htmlhttp://www.aygfsteel.com/KingKong/comments/92789.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/10/92789.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/92789.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/92789.html
Java Bean 是可复用的组Ӟ对Java Beanq没有严格的规范Q理ZԌM一个Javac都可以是一个Bean。但通常情况下,׃Java Bean是被容器所创徏Q如TomcatQ的Q所以Java Bean应具有一个无参的构造器Q另外,通常Java Beanq要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微YCOM模型中的本地q程内COMlgQ它是不能被跨进E访问的。Enterprise Java Bean 相当于DCOMQ即分布式组件。它是基于Java的远E方法调用(RMIQ技术的Q所以EJB可以被远E访问(跨进E、跨计算机)。但EJB必须被布|在诸如Webspere、WebLogicq样的容器中QEJB客户从不直接讉K真正的EJBlgQ而是通过其容器访问。EJB容器是EJBlg的代理,EJBlg由容器所创徏和管理。客户通过容器来访问真正的EJBlg?br style="mso-special-character: line-break" />
3?的区别:(x)3没有实体Bean(底层用的hibernate)Q也没有HOME工厂Q用的DI机制了,貌似springp它的)?br />
用EJB的原因:(x)1Q负载均?2Q对象池 3Q单U程

]]> - JAVA中日期的问题http://www.aygfsteel.com/KingKong/archive/2007/01/05/91872.htmlsure_dandansure_dandanThu, 04 Jan 2007 16:44:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/05/91872.htmlhttp://www.aygfsteel.com/KingKong/comments/91872.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/05/91872.html#Feedback3http://www.aygfsteel.com/KingKong/comments/commentRss/91872.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/91872.html1?
Date date=new Date();
DateFormat df =DateFormat.getDateInstance();

try {
df.parse(date2);

} catch (ParseException e) {
e.printStackTrace();
} 2?
Date date=new Date();
SimpleDateFormat sdf =new SimpleDateFormat("yy-MM-dd");

try {
sdf.parse(date);

} catch (ParseException e) {
e.printStackTrace();
}
PS:
1。徏议在数据库里面将日期也设成StringQvarchar2Q型的,然后在jsp里面有关日期的地方,用js来操作,q样?x)避免一定的ȝ?br />2。一般来_(d)l过上面的处理后Q日期在jsp面的显C格式是yy-MM-dd 00:00:00。你觉得不好看的话,如果用的是ssh框架Q那么可以在相应的hbm.xml中将相应?<property name="xxxx" type="time">中的type改ؓ(f)type="date"。那么显C的日期格式只有年月日了?
]]> - j2EE中的qo(h)器的用法(qo(h)q)http://www.aygfsteel.com/KingKong/archive/2007/01/04/91859.htmlsure_dandansure_dandanThu, 04 Jan 2007 15:00:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/04/91859.htmlhttp://www.aygfsteel.com/KingKong/comments/91859.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/04/91859.html#Feedback2http://www.aygfsteel.com/KingKong/comments/commentRss/91859.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/91859.html1个过滤器只需要注?个地方,cd在web.xml上面的发布?br />
1。在web.xml上面的发布如下:(x)
<filter>
<filter-name>SetCharsetEncodingFilter</filter-name> //q个是类?/font>
<filter-class>org.SetCharacter</filter-class> //q个是类的位|?/font>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharsetEncodingFilter</filter-name>

<url-pattern> /* </url-pattern> //q个代表所有的文g遇到qo(h)器都要被拦截
</filter-mapping>
2。过滤的q个cd下:(x)
package org;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;


public class SetCharacter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = null;
protected boolean ignore = true;


public void init(FilterConfig arg0) throws ServletException {
this.encoding = arg0.getInitParameter("encoding");
String value = arg0.getInitParameter("imnore");

if(value==null){
this.ignore = true;

}else if (value.equalsIgnoreCase("true")){
this.ignore = true;

}else if(value.equalsIgnoreCase("yes")){
this.ignore = true;
}
}


public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {

if(ignore||(arg0.getCharacterEncoding() == null)){
String encoding =selectEncoding(arg0);
if(encoding!=null)
arg0.setCharacterEncoding(encoding);
}
arg2.doFilter(arg0,arg1);
}


private String selectEncoding(ServletRequest arg0) {
return (this.encoding);
}


public void destroy() {
this.encoding = null;
this.filterConfig = null;
}

}


]]> - JAVA的存储结?/title>http://www.aygfsteel.com/KingKong/archive/2007/01/03/91657.htmlsure_dandansure_dandanWed, 03 Jan 2007 15:38:00 GMThttp://www.aygfsteel.com/KingKong/archive/2007/01/03/91657.htmlhttp://www.aygfsteel.com/KingKong/comments/91657.htmlhttp://www.aygfsteel.com/KingKong/archive/2007/01/03/91657.html#Feedback1http://www.aygfsteel.com/KingKong/comments/commentRss/91657.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/91657.html1.寄存器Register
2.栈StackQ栈在RAM中,CPU可通过栈指针直接访问数据,栈指针向上则建立新的存储区,向下则释攑֭储区。栈中的数据必须有确切的大小和生命期Q什么时候徏立数据,什么时候撤消数据)Q不然指针如何知道该Ud多少呢?通常对象的引用放在栈中,但是对象本n不在q里。由于栈在RAM中,因此速度比寄存器慢。基本数据类型也在栈中,因ؓ(f)其大和生命期是定的?br />3.堆HeapQ堆在RAM中,JAVA对象放在这里。堆的好处是其中的数据的大小和生命期都可以不定。每当用new关键字创建对象时Q编译程序就?x)在堆中分配响应的存储区l对象?br />4.静态存储区StaticQ静态存储区也在RAM中,看到StaticQ就可以猜测Q那些加在static关键字的数据和方法都攑֜q里Q确实这栗不q对象即便是静态的也不攑֜q儿?br />5.帔R存储区ConstantQ常量存储区在RAM中,与静态存储区cMQ程序中的常量(由final关键字修饎ͼ都放在这里?img src ="http://www.aygfsteel.com/KingKong/aggbug/91657.html" width = "1" height = "1" />
]]> - J2EE的核心API与组?/title>http://www.aygfsteel.com/KingKong/archive/2006/12/27/90380.htmlsure_dandansure_dandanWed, 27 Dec 2006 13:37:00 GMThttp://www.aygfsteel.com/KingKong/archive/2006/12/27/90380.htmlhttp://www.aygfsteel.com/KingKong/comments/90380.htmlhttp://www.aygfsteel.com/KingKong/archive/2006/12/27/90380.html#Feedback0http://www.aygfsteel.com/KingKong/comments/commentRss/90380.htmlhttp://www.aygfsteel.com/KingKong/services/trackbacks/90380.html本来惛_全自己写q个主题的,但是发现自己对很多东襉K没不知道Q所以就看了一下别人ȝ的,学了一下“拿来主义”。上ơ看一个招聘广告上要求?x)RMIQ我却连它是什么东襉K不知道,太丢Z。先把这些名词拿来?/p>
J2EEq_׃整套服务QServicesQ、应用程序接口(APIsQ和协议构成Q它对开发基于Web的多层应用提供了功能支持Q下面对J2EE中的13U技术规范进行简单的描述(限于幅Q这里只能进行简单的描述):
JDBC(Java Database Connectivity):
JDBC API问不同的数据库提供了一U统一的途径Q象ODBC一PJDBC对开发者屏蔽了一些细节问题,另外QJDCBҎ(gu)据库的访问也hq_无关性?
JNDI(Java Name and Directory Interface):
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业U的资源如DNS和LDAPQ本地文件系l,或应用服务器中的对象?
EJB(Enterprise JavaBean):
J2EE技术之所以赢得某体广泛重视的原因之一是EJB。它们提供了一个框架来开发和实施分布式商务逻辑Q由此很显著地简化了h可~性和高度复杂的企业应用的开发。EJB规范定义了EJBlg在何时如何与它们的容器进行交互作用。容器负责提供公用的服务Q例如目录服务、事务管理、安全性、资源缓冲池以及定w性。但q里值得注意的是QEJBq不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一U和EJBq的方式来辑ֈ同样的目的?
RMI(Remote Method Invoke):
正如其名字所表示的那PRMI协议调用q程对象上方法。它使用了序列化方式在客L(fng)和服务器端传递数据。RMI是一U被EJB使用的更底层的协议?
Java IDL/CORBA:
在Java IDL的支持下Q开发h员可以将Java和CORBA集成在一赗?他们可以创徏Java对象q之可在CORBA ORB中展开, 或者他们还可以创徏Javacdƈ作ؓ(f)和其它ORB一起展开的CORBA对象的客戗后一U方法提供了另外一U途径Q通过它Java可以被用于将你的新的应用和旧的系l相集成?
JSP(Java Server Pages):
JSP面由HTML代码和嵌入其中的Java代码所l成。服务器在页面被客户端所h以后对这些Java代码q行处理Q然后将生成的HTML面q回l客L(fng)的浏览器?
Java Servlet:
Servlet是一U小型的JavaE序Q它扩展了Web服务器的功能。作ZU服务器端的应用Q当被请求时开始执行,q和CGI Perl脚本很相伹{Servlet提供的功能大多与JSPcMQ不q实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码Q而servlets全部由Java写成q且生成HTML?
XML(Extensible Markup Language):
XML是一U可以用来定义其它标记语a的语a。它被用来在不同的商务过E中׃n数据。XML的发展和Java是相互独立的Q但是,它和Javah的相同目标正是^台独立性。通过Java和XML的组合,(zhn)可以得C个完的hq_独立性的解决Ҏ(gu)?
JMS(Java Message Service):
MS是用于和面向消息的中间g怺通信的应用程序接?API)。它既支持点对点的域Q有支持发布/订阅(publish/subscribe)cd的域Qƈ且提供对下列cd的支持:(x)l认可的消息传?事务型消息的传递,一致性消息和h持久性的订阅者支持。JMSq提供了另一U方式来Ҏ(gu)的应用与旧的后台pȝ盔R成?
JTA(Java Transaction Architecture):
JTA定义了一U标准的APIQ应用系l由此可以访问各U事务监控?
JTS(Java Transaction Service):
JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务理器是在高层支持Java Transaction API (JTA)规范Qƈ且在较底层实现OMG OTS specification的Java映像。JTS事务理器ؓ(f)应用服务器、资源管理器、独立的应用以及通信资源理器提供了事务服务?
JavaMail:
JavaMail是用于存取邮件服务器的APIQ它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器?
JAF(JavaBeans Activation Framework):
JavaMail利用JAF来处理MIME~码的邮仉件。MIME的字节流可以被{换成Java对象Q或者{换自Java对象。大多数应用都可以不需要直接用JAF?

]]>
վ֩ģ壺
|
|
|
|
ﶫ|
|
|
Ȫ|
IJ|
|
ͩ|
|
|
̴|
ʹ|
Զ|
|
|
|
բ|
ʲ|
̨|
ƽ|
|
|
|
|
Ϫ|
|
|
|
ƽ|
|
Դ|
ƽ|
ˮ|
|
|
ʯ|
|
ֽ|