java代码 常用_常用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().getResourceAsStream6、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

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脚本):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")));

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

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

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

动态包含:

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

语法:

静态包含:

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

语法:

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 map = statReportManager.getClientLevelCount();

for (Iterator> iter=map.entrySet().iterator(); iter.hasNext();) {

Map.Entry 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中最常用的一些基本代码,平时遇到的时候就记录下来,过一段时间后回顾一下,是一个基本功的积累。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值