阶段总结

reference:<[http 协议, ant , maven, lucene, memcached, c3p0 & dbcp java相关的池技术]>

http://rwg109.iteye.com/blog/840630

http://8947509.blog.51cto.com/8937509/1550922

// 接口与抽象类设计原则
http://www.cnblogs.com/jiangzhengjun/p/4260969.html

http://www.cnblogs.com/tankxiao/archive/2012/02/13/2342672.html

// Java 编程中关于异常处理的 10 个最佳实践
http://www.oschina.net/translate/10-exception-handling-best-practices-in-java-programming?print

框架: spring, struts2, hibernate, ibatis, dwr, webservice, ajax & jquery

基础: BOM, DOM, JavaScript, xml<DTD,scheme,xpath>, json<对象与数组>

能力: oracle<重点知识>, linux<shell,shell工具grep,awk,sed>, windows<bat>, python, [Algorithm排序,链表,堆栈模拟,etc...]

巩固 C 语言, javascript<W3 school>, java_api 基础知识

工具: fiddler, soapui, httpwatch, jetty, findbugs, sourcemonitor, etc...

// 非对象实体映射 [直接根据数据表的'列名称'取查询值]
cmdRequest.addDataParam("serialNo", DataType.STRING, serialNo);
cmdRequest.addDataParam("nodeId", DataType.STRING, OUTNODEID);
try
{
	dr = dascCmd.execute(cmdRequest);
	ds = dr.getDataSet();
	while (ds.next())
	{
		times = ds.getInt("count");
		break;
	}
}


// 对象与实体映射
public void ds2List(List<Map<String, Object>>  list, DataSet ds)
{
	Object value = null;
	Map<String, Object> voMap = null;
	
	for (; ds.next(); list.add(voMap))
	{
		voMap = new HashMap<String, Object>();
		List columnNames = ds.getColumnNames();

		String columnName;
		
		for (Iterator iterator = columnNames.iterator(); iterator.hasNext(); voMap.put(columnName, value))
		{
			columnName = (String)iterator.next();
			value = ds.getObject(columnName);
		}
	}
}


// 在Action 中对请求参数进行处理, 参数为 Map 对象
public static void dasTransformInParam(CmdRequest cmdRequest, Map<String, Object> inParams)
{
	if ((null == inParams ) || (inParams.isEmpty()))
	{
		return;
	}
	
	for (Iterator<Entry<String, Object>> it = inParams.entrySet().iterator(); it.hasNext();)
	{
		Entry<String, Object> o = it.next();
		String key = (String)o.getKey();
		
		if (StringUtils.isNotBlank(key))
		{    
			Object vo = o.getValue();
			int type = DataType.STRING;
			
			if (vo instanceof Date)
			{
				type = DataType.DATE;
			}
			
			cmdRequest.addDataParam(key, type, vo);
		}
	}
}

// Action 类中对页面请求参数进行封装
public Map<String, Object> bulidPubQueryData()
{
	ActionContext aCtx = ActionContext.getContext();
	Map requestParamMap = aCtx.getParameters();
	Map<String, Object> queryMap = new HashMap<String, Object>();
	
	if (null == requestParamMap || requestParamMap.isEmpty()) 
	{
		return queryMap;
	}
	
	for (Iterator<Entry> it = requestParamMap.entrySet().iterator(); it.hasNext(); )
	{
		 Entry entry = it.next();
		 String[] value = (String[])entry.getValue();
		 
		 if ((null != value) && (value.length > 0))
		 {
			queryMap.put((String)entry.getKey(), value[0].trim());
		 }
	}
  
	return queryMap;
}

serialNo = ArrayUtil.getParameter(super.getParameters(), "serialNo");
workItemId = ArrayUtil.getParameter(super.getParameters(), "workItemId");

public class QYActionSupport extends ActionSupport implements SessionAware, ServletRequestAware, 
ServletResponseAware, ApplicationAware, ParameterAware

private Map parameters;
public static ApplicationContext getWebApplicationContext()
{
	if(webApplicationContext == null)
		webApplicationContext = WebApplicationContextManager.getApplicationContext();
	return webApplicationContext;
}

// 获取页面请求参数
public static String getParameter(Map paras, String param)
{
	String result = null;
	if(paras.get(param) instanceof String[])
		result = ((String[])(String[])paras.get(param))[0];
	else
		result = String.valueOf(paras.get(param));
	return result;
}

//  好代码
OrgaBusinessFrameService service = (OrgaBusinessFrameService)ContextHolder.getBean("service");
List orgas = service.getOrganizeListByIdList(orgaList);
if(orgas != null && !orgas.isEmpty())
{
	Group group = null;
	for(Iterator i$ = orgas.iterator(); i$.hasNext(); groupSelectedList.add(group))
	{
		Organize orga = (Organize)i$.next();
		group = new Group();
		group.setGroupId((new StringBuilder()).append(orga.getOrgaId()).append("_orga").toString());
		group.setGroupName(addBracket(orga.getOrgaName(), ResourceUtil.getMessage("memo.orga.name")));
	}
}

// spring 获取 Bean
private static ApplicationContext ctx;

public interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory, MessageSource, 
ApplicationEventPublisher, ResourcePatternResolver

public final class BulletinUtil  <在工具类可能需要直接获取在spring 容器中注册的Bean>
service = (GroupBusinessFrameService)ContextHolder.getBean("service");
public static Object getBean(String beanName)
{
    return getCtx().getBean(beanName);
}

// 知识点:
接口是常量值和方法定义的集合,接口是一种特殊的抽象类;
java类是单继承的:classB Extends classA
java接口可以多继承:Interface3 Extends Interface0, Interface1, interface……

public interface ApplicationContext extends ListableBeanFactory, HierarchicalBeanFactory, 
MessageSource, ApplicationEventPublisher, ResourcePatternResolver {......}

一、发现问题
需要执行某一行语句时,需要选中该行语句,点击F8才行.
二、解决问题
中文版:工具—>首选项—>SQL窗口—>自动选择语句
英文版:tools->preferences->sql window->autoSelect Statement
这样光标放到某一行,点击F8就可执行该行,不要全选该行
三、注意点
该语句必须以分号结尾,否则达不到效果

problems -> errors:[常见的导入工程后问题解决]

1) resource -> utf-8 
2) Target runtime apache tomcat 6.0.35 is not defined;
3) the project cannot be built until build path errors are resolved
4) unbound classpath container: 'JRE system library in project'
5) The type javax.servlet.http.HttpServletRequest cannot be resolved. 
It is indirectly referenced from required .class files
6) org.tigris subversion javahl.ClientException: Working copy not locked;
this is probably a bug,please report svn:Working copy 
'D:/temp/workspace/BOBO365/WebRoot/WEB-INF/classes/com' is missing or not locked
7) ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized

// 工程 -> .settings -> org.eclipse.wst.common.project.facet.core.xml [去掉配置项]
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
</faceted-project>

// tomcat -> jsp-api.jar & servlet-api.jar 
// unbound classpath container 去掉里面的,配置本地的
// 原来是eclipse把src文件夹中的.svn文件夹也"编译"到WEB-INF/classes中去了
而复制过来的.svn中存储的是src文件夹中的版本信息.从而导致在更新时出错. 
打开Eclipse中的 Project->Properties->Java Build Path 菜单.在右侧面板中的"Source"选项卡.
在Excluded中加入"**/.svn/**".也就是把.svn文件夹从编译路径中排除.这样就不会出现上面的问题了

// tomcat jdk -> optional java vm arguments 
// -Xms512M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=512M 

用Google:
http://jingyan.baidu.com/article/dca1fa6fa20802f1a440520e.html

http://www.igooda.cn/jzjl/20141121682.html
webstorm [破解版]

http://update1.aptana.org/studio/3.2/024747/index.html
Aptana Studio

reference:<[在Eclipse安装Aptana插件]>
http://blog.csdn.net/guowenbin2008/article/details/7179088
http://blog.csdn.net/guowenbin2008/article/details/7180548

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值