常用java代码集锦

  如果某一段时间一直在用一种语言,会觉得很多语法简直太基础了,不值得一提,可是如果记录不好,过上一段时间,使用习惯了另外一种语言,回头再用的时候,发现有些idiot,为解决这种问题,这里会记录常用到的java代码,以达到“抽起来,也扛起来”的效果。

1、final关键字,终止继承,防止被修改:

private final static String beanConfigFile ="beans-config.xml";

Document doc=   new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream(beanConfigFile));

2、转发:

request.getRequestDispatcher("/jstl_el.jsp").forward(request, response);

3、重定向:

response.sendRedirect(request.getContextPath()+"/servlet/item/SearchItemServlet");

4、Class映射类:

Object service =Class.forName(className).newInstance();

5、获取bin目录相关:

BeanFactory beanFactory = (BeanFactory)this.getServletConfig().getServletContext().getAttribute("beanFactory");


File 	uploadPath = new File(getServletContext().getRealPath("upload"));

Document  doc=   new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream

6、dom4j根据属性值读取xml节点:

Element beanElt=(Element)doc.selectSingleNode("//service[@id=\""+c.getName()+"\"]");


7、dom4j根据文件路径读取xml节点:

Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");

8、dom4j读取xml文件到Document对象:

SAXReader reader = new SAXReader();		
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");
Document doc = reader.read(in);

9、java dom4j读取某个节点下的子节点集合:selectNodes()

			List daoFactorylist = doc.selectNodes("/config/dao-factory/*");
			
			
			for (int i=0; i<daoFactorylist.size(); i++) {
				Element daoFactoryElt = (Element)daoFactorylist.get(i);
				String tagName = daoFactoryElt.getName();
				String tagText = daoFactoryElt.getText();
				System.out.println("读取DaoFactory-->>" + tagText);
				
				//放入到Map中
				daoFactoryMap.put(tagName, tagText);
				
				
			}


10、EL代替jsp语法从servlet请求数据:

hello(EL表达式框架语言):${hello}


11、jsp从servlet请求数据:

hello(jsp脚本):<%=request.getAttribute("hello") %>

12、EL自定义指向,从servlet请求数据:

hello(EL表达式框架语言,自定义指向):${requestScope.hello} 

13、EL与对象结构:无需引入包

对象都需要有get方法,在jsp中获取数据的时候,直接使用get后面的那一部分,不区分大小写。


14、类实现接口,又拥有自己的属性:

List list = new ArrayList()
  ArrayList继承并实现了List接口,这里的list不可以使用ArraList的属性和方法,可以使用下面的声明使用:
ArrayList list=new ArrayList();

List是一个接口,描述了一个有序的允许有重复值得集合,ArrayList 是List接口的一个实现,其内部使用数组实现,相似的还有LinkedList, 内部使用链表实现 。

15、ThreadLocal:Servlet单实例多线程,通过ThreadLocal保证每一个线程使用同一个Connection对象,保证了事务。

18、web层和servlet打交道,通过servletContext进行关联,如,从这里取工厂,不关心工厂使用什么方式创建,所以,不用工厂单例的getInstance方法

16、getAttribute和getParameter的区别:

    getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型;
    getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有setParameter方法,而且接收参数返回的不是Object,而是String类型。


17、String.valueOf:

    vouNo=String.valueOf(rs.getLong(1)+1);

18、Date处理:parse和format

dBeginDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(beginDate + " 00:00:00");
fiscalYearPeriod.setEndDate(new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("endDate")));

<%= new SimpleDateFormat("yyyyMMdd").format(fiscalYearPeriod.getBeginDate()) %>	

19、this.getServletContext()和this.getServletConfig():

    this.getServletContext()获取全局变量相当于Application级别的变量;this.getServletConfig()是与url相关的函数。

20、动态包含和静态包含:

    动态包含:

      生成多个类,好处:命名不怕重复;坏处,类太多,不容易维护。

    语法:

<jsp:include page="/footer.jsp"></jsp:include>

    静态包含:

     只生成一个类,好处:只生成一个类,容易维护;缺点:命名容易重复。

    语法:

   

<%@ include file="/header.jsp" %>

21、Listener的初始化要比ServletContext的init方法还要早。

22、对目标异常的包装:

			if (e instanceof InvocationTargetException) {
				InvocationTargetException ete = (InvocationTargetException)e;
				throw ete.getTargetException();
			}

23、关于session:

    jsp的默认session=true,会自动创建session,且Session只会创建一次,除非浏览器关闭;Html静态页面不会自动创建session,这涉及到网站访问的时候,如果要在html中取得Session,那么就不能使用html,可以使用Ajax,从后台取得数据后,返回给Html页面。


24、java遍历Map:

    

		Map<String, Integer> map = statReportManager.getClientLevelCount();
	
		for (Iterator<Map.Entry<String, Integer>> iter=map.entrySet().iterator(); iter.hasNext();) {
			Map.Entry<String, Integer> entry = iter.next();
			dataset.setValue(entry.getKey(), entry.getValue());
		}

25、request.getSession(true):默认是true,当前session不可用时,那么它就会创建一个新的会话。

       request.getSession(false):如果会话不存在的时候,就会返回null。


26、filter对权限的控制:session和url跳转。

      通过filter控制某个用户权限内的界面显示;防止手动输入url访问资源。


总结:

    这里总结的是java中最常用的一些基本代码,平时遇到的时候就记录下来,过一段时间后回顾一下,是一个基本功的积累。



评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值