数据加载中……

2009年8月24日

recently progress 3(mainly about jfreechart)

1.在jsp向页面输出图片的时候,使用response.getOutputStream()会有这样的异常错误提示信息:java.lang.IllegalStateException: getOutputStream() has already been called for this response的解决办法:

 只需要在jsp页面的最后加上两条语句: out.clear();out=pageContext.pushBody();即可(其中out,pageContext均为jsp内置对象!)

2.柱状图在显示横轴时名称不能全部显示解决方案(让坐标倾斜30度):

 CategoryAxis   domainAxis     =     plot.getDomainAxis();
    
        domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI/6.0));
 
        plot.setDomainAxis(domainAxis);  
 3.JFreeChart将柱图中的Y轴数字显示为整数

 NumberAxis numberaxis = (NumberAxis)plot.getRangeAxis();

 numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

4.JSP的会话跟踪技术     
1. Cookie:服务器在一个应答首部传递给浏览器的名称/值对。浏览器保存的时间由cookie的过期时间属性来指定。当浏览器向某个服务器发送一个请求时,它会检查其保存的cookie,并在请求首部中包含从同一台服务器上接收到的所有cookie。      
2.Session tracking:在浏览器和服务器之间不直接传送所有的状态信息,而只是传递表示符(session ID)。浏览器发送sessionID,服务器跟踪与该会话相关联的所有信息。传递sessionID可以通过cookie和URL复写技术,大部分容器都支持这两种技术。服务器无法分辨用户是否关闭了浏览器,因此关闭浏览器意味着与先前的会话关联的所有会话数据都保留在服务器上,直到会话超时,服务器销毁会话对像。®跟踪同一会话中的请求的会话ID可以有多种方法,主要有cookie和url复写。
3.URL复写:把会话ID编码在URL中。          例:counter.jjsp;jsessionnid=be8d697876787876befdbde898789098980这样,即使浏览器不支持cookie,也能够实现会话跟踪。对于URL复写,服务器从请求的URI中提取出会话ID,并把该请求与相应的会话关联起来,然后在访问会话数据的时候,JSP页面所进行的处理方式就和使用cookie跟踪会话id时所使用的方式完全相同。所以sesssion的实现要依靠cookie或URL复写技术。如果想为不支持cookie的浏览器提供会话跟踪,就必须使用<c:url>行为对应用程序中的所有URL进行复写。这意味着应用程序中的所有页面(至少是那些带有对其他页面引用的页面)都必须是JSP页面,这样页面引用才能以动态方式进行编码,如果遗漏了一个ur,那么服务就会失去对会话的跟踪。
4.隐藏表单域:隐藏表单域是将会话ID添加到HTML的隐藏表单中(类型为hidden的input)。重定向和转发可以使用两种方法来调用另一个页面,重定向和转发。i)                 转发:<jsp:forward page=”userInfo.jsp”/>转发,JSP容器将使用一个内部方法来调用目标页面,新的页面继续处理同一个请求,而浏览器不会知道这个过程涉及到了多个页面。浏览器URL会保持不变。ii)                重定向:<c:redirect url=”userInfo.jsp”/>重定向与转发不同,重定向时,第一个页面会通知浏览器发送一个新的目标页面的请求。浏览器所显示的URL会变成新页面的URL。重定向的速度比转发要慢,因为浏览器得发出一个新的请求。同时,由于重定向产生了一个新的请求,所以经过一次重定向之后请求作用域内的对象将无法再使用了。

5.JFreeChart柱状图数字显示在柱子上方:

 renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
 
 renderer.setItemLabelsVisible(true);

 // 默认的数字显示在柱子中,通过如下两句可调整数字的显示

 renderer.setPositiveItemLabelPosition(new ItemLabelPosition(
 
 ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_LEFT));

 

posted @ 2009-09-11 08:48 mingruofei 阅读(255) | 评论 (0)编辑 收藏
我的成长

1.得到相对路径
 URL url = ServiceFactory.class.getResource("/config/log4j.properties");

       Properties properties = new Properties();

       try {

           properties.load(new InputStreamReader(url.openStream()));

       } catch (IOException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       }

       PropertyConfigurator.configure(properties);
2 简单数据库连接池使用:

 1.加入要用到的数据库包:mysql-connector-java-3.1.13-bin.jar

 2.加入proxool-cglib.jar,proxool-0.9.1.jar和commong-logging-1.1.jar

 3.加入如下代码:

  PropertyConfigurator.configure("src/Proxool.properties");(只在加载时使用一次)

  Connection connection = DriverManager.getConnection("proxool.proxool-sipity");(获得连接)
 
3.IntelliJ一款java 编译工具(才知道)

4.JAVA字符串转日期或日期转字符串
 
    SimpleDateFormat sdf =   new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
 
  1.字符串转日期

   2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );

  2.日期转字符串

   String str = sdf.format(new Date());字符串内容的格式类似2008-07-10 19:20:00。

 SimpleDateFormat sdf = new SimpleDateFormat( " yyyy年MM月dd日 " );

    String str = sdf.format(new Date());
5使用JSP大约有下列三种跳转方式:
 1. response.sendRedirect();
 2. response.setHeader("Location","");
 3. <jsp:forward page="" />
5.JfreeChart使用:http://www.itpub.net/archiver/tid-628960.html

posted @ 2009-08-24 12:25 mingruofei 阅读(170) | 评论 (0)编辑 收藏