`

springmvc demo

阅读更多

HelloWorldController.java

--------------------------------------------------------------------------------------

package net.spring.controller;

import java.awt.Font;

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

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RectangleEdge;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloWorldController {
 @RequestMapping("/hello")
 public ModelAndView helloWorld(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
   throws Exception {
  // String message = "Hello World, Spring 3.0!";
  // System.out.println(message);
  // return new ModelAndView("test2", "message", message);
  // DefaultCategoryDataset dataset = new DefaultCategoryDataset();
  // dataset.addValue(300, "广州", "苹果");
  // dataset.addValue(200, "广州", "梨子");
  // dataset.addValue(500, "广州", "葡萄");
  // dataset.addValue(340, "广州", "芒果");
  // dataset.addValue(280, "广州", "荔枝");
  //
  // JFreeChart chart = ChartFactory.createBarChart3D("水果销量统计图", "水果", "销量", dataset, PlotOrientation.VERTICAL, false,
  // false, false);
  // row keys...
  String series1 = "First";
  String series2 = "Second";
  String series3 = "Third";

  // column keys...
  String type1 = "Type 1";
  String type2 = "Type 2";
  String type3 = "Type 3";
  String type4 = "Type 4";
  String type5 = "Type 5";
  String type6 = "Type 6";
  String type7 = "Type 7";
  String type8 = "Type 8";

  // create the dataset...
  DefaultCategoryDataset dataset = new DefaultCategoryDataset();

  dataset.addValue(1.0, series1, type1);
  dataset.addValue(4.0, series1, type2);
  dataset.addValue(3.0, series1, type3);
  dataset.addValue(5.0, series1, type4);
  dataset.addValue(5.0, series1, type5);
  dataset.addValue(7.0, series1, type6);
  dataset.addValue(7.0, series1, type7);
  dataset.addValue(8.0, series1, type8);

  dataset.addValue(5.0, series2, type1);
  dataset.addValue(7.0, series2, type2);
  dataset.addValue(6.0, series2, type3);
  dataset.addValue(8.0, series2, type4);
  dataset.addValue(4.0, series2, type5);
  dataset.addValue(4.0, series2, type6);
  dataset.addValue(2.0, series2, type7);
  dataset.addValue(1.0, series2, type8);

  dataset.addValue(4.0, series3, type1);
  dataset.addValue(3.0, series3, type2);
  dataset.addValue(2.0, series3, type3);
  dataset.addValue(3.0, series3, type4);
  dataset.addValue(6.0, series3, type5);
  dataset.addValue(3.0, series3, type6);
  dataset.addValue(4.0, series3, type7);
  dataset.addValue(3.0, series3, type8);

  // create the chart...
  JFreeChart chart = ChartFactory.createLineChart("血压水平分布图", // chart title
    "Type", // domain axis label
    "Value", // range axis label
    dataset, // data
    PlotOrientation.VERTICAL, // orientation
    true, // include legend
    true, // tooltips
    false // urls
    );

  // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
  LegendTitle legend = (LegendTitle) chart.getLegend();
  legend.setPosition(RectangleEdge.BOTTOM);
  legend.setBorder(BlockBorder.NONE);
  CategoryPlot plot = chart.getCategoryPlot();
  // customise the range axis...
  NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
  rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
  rangeAxis.setAutoRangeIncludesZero(true);
  rangeAxis.setUpperMargin(0.20);
  rangeAxis.setLabelAngle(Math.PI / 2.0);
  LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();

  renderer.setItemLabelsVisible(true);
  // 解决乱码问题
  getChartByFont(chart);
  String fileName = ServletUtilities.saveChartAsJPEG(chart, 800, 600, null, request.getSession());
  String chartURL = request.getContextPath() + "/chart?filename=" + fileName;
  modelMap.put("chartURL", chartURL);
  return new ModelAndView("demo", modelMap);
 }

 private static void getChartByFont(JFreeChart chart) {
  TextTitle textTitle = chart.getTitle();
  textTitle.setFont(new Font("宋体", Font.BOLD, 20));
  LegendTitle legend = chart.getLegend();
  if (legend != null) {
   legend.setItemFont(new Font("宋体", Font.BOLD, 20));
  }
  CategoryPlot plot = (CategoryPlot) chart.getPlot();
  CategoryAxis axis = plot.getDomainAxis();
  // 设置X轴坐标上标题的文字
  axis.setLabelFont(new Font("宋体", Font.BOLD, 22));
  // 设置X轴坐标上的文字,
  axis.setTickLabelFont(new Font("宋体", Font.BOLD, 12));

  ValueAxis valueAxis = plot.getRangeAxis();
  // 设置Y轴坐标上标题的文字
  valueAxis.setLabelFont(new Font("宋体", Font.BOLD, 12));
  // 设置Y轴坐标上的文字
  valueAxis.setTickLabelFont(new Font("sans-serif", Font.BOLD, 12));
 }
}

 

/WEB-INF/jsp/demo.jsp

--------------------------------------------------------------------------------------

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>柱状图</title>
</head>
<body>
 <img src="${chartURL}"  border=0>
</body>
</html>

 

 

/WEB-INF/web.xml

--------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <display-name>Spring3MVC</display-name>
   
    <servlet>
        <servlet-name>DisplayChart</servlet-name>
        <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>DisplayChart</servlet-name>
        <url-pattern>/chart</url-pattern>
    </servlet-mapping> 
   
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
     </servlet-mapping>

     <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

 

/WEB-INF/spring-servlet.xml

--------------------------------------------------------------------------------------

<?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:p="http://www.springframework.org/schema/p"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-3.0.xsd">

 <context:component-scan base-package="net.spring.controller" />
 <bean id="viewResolver"
  class="org.springframework.web.servlet.view.UrlBasedViewResolver">
  <property name="viewClass"
   value="org.springframework.web.servlet.view.JstlView" />
  <property name="prefix" value="/WEB-INF/jsp/" />
  <property name="suffix" value=".jsp" />
 </bean>
</beans>

0
1
分享到:
评论

相关推荐

    SpringMVC demo 完整源码实例下载

    在这个"SpringMVC demo 完整源码实例下载"中,我们能够深入理解并学习SpringMVC的核心概念和实际应用。 首先,SpringMVC是Spring框架的一部分,它通过Model-View-Controller(MVC)设计模式来分离应用程序的业务...

    SpringMVC Demo_java_springmvc_DEMO_

    这个名为"SpringMVC Demo_java_springmvc_DEMO_"的项目是一个演示示例,旨在展示如何在Java项目中集成和使用SpringMVC。通过这个项目,我们可以学习到以下关键知识点: 1. **环境配置**:首先,我们需要一个Java...

    SpringMVC demo 完整源码实例下载.zip

    在这个"SpringMVC demo 完整源码实例下载.zip"压缩包中,我们可以深入学习和理解SpringMVC的各种核心特性和实际应用。 首先,SpringMVC通过DispatcherServlet作为前端控制器,它负责接收HTTP请求,并根据请求的URL...

    SpringMVC demo

    在这个"SpringMVC demo"项目中,我们将探讨如何利用 Maven 和 SpringMVC 实现一个博客和用户管理系统。 **1. Maven 的作用与配置** Maven 是一个项目管理和综合工具,它通过统一的构建过程简化了项目的依赖管理。...

    demo_SpringMVC.rar_+SpringMVC demo_DEMO_spring mvc_spring mvc de

    本示例项目 "demo_SpringMVC" 提供了一个基础的 Spring MVC 示例,旨在帮助开发者了解和学习如何使用该框架进行开发。 在 Spring MVC 中,`Model` 负责存储数据,`View` 负责渲染数据,而 `Controller` 则是处理...

    maven项目springMVC demo

    【标题】"maven项目springMVC demo"是一个基于Java技术栈的Web应用程序示例,主要使用了Maven作为构建工具,SpringMVC作为控制器框架,以实现后端业务逻辑和视图的分离。该项目旨在展示如何在实际开发环境中整合这些...

    springMVC demo +jar包

    这个"springMVC demo +jar包"资源包含了一个Spring MVC的小型示例项目和必要的jar包,帮助初学者理解和实践Spring MVC框架的使用。 首先,让我们详细了解一下Spring MVC的核心概念: 1. **DispatcherServlet**:这...

    intellij maven springmvc demo

    在"intellij maven springmvc demo"项目中,我们将探讨如何在IntelliJ IDEA这个强大的Java IDE中,利用Maven和SpringMVC进行项目配置和开发。 **1. 创建SpringMVC项目** 首先,我们需要在IntelliJ IDEA中创建一个...

    java微信公众号上传下载图片,springmvc demo

    1、本项目适合学习springmvc学者(springmvc demo), url(http://localhost:8082/com.demo.weixin/HelloWorld/index.html) 2、本项目适合学习微信开发 (微信接入,上传及下载临时素材文件,微信jssdk图片...

    demo.rar_DEMO_ShoppingCarPriKey_springmvc_springmvc demo

    【标题】"demo.rar_DEMO_ShoppingCarPriKey_springmvc_springmvc demo" 提供的信息表明这是一个关于Spring MVC框架的示例项目,其中可能包含了购物车私钥(ShoppingCarPriKey)的功能,并且可能使用了Spring和...

    SpringMVC demo 完整源码实例.zip

    通过深入研究这个SpringMVC demo,你可以学习到如何构建一个完整的Web应用,理解各组件之间的协作机制,这对于提升SpringMVC的使用技巧和解决实际问题具有极大的帮助。同时,这也是一个很好的实践项目,有助于巩固...

    restful webservice in springMVC Demo

    这篇博客"restful webservice in springMVC Demo"旨在展示如何在Spring MVC中创建RESTful Web服务,并通过客户端进行调用。 首先,我们要理解REST(Representational State Transfer,表述性状态转移)的基本概念。...

    springMvc demo

    本项目 "springMvc demo" 是一个基础的 Spring MVC 应用示例,旨在帮助初学者了解如何配置和使用该框架。 首先,我们来探讨一下核心组件: 1. **web.xml**:这是部署描述符,定义了应用的入口点,以及Servlet和...

    SpringMVC Demo

    在"SpringMVC Demo"这个项目中,你下载的是一个已经准备好的示例工程,导入后可以直接运行体验SpringMVC的功能。这个项目可能是包含了所有必要的配置文件、源代码和资源,以便于快速理解和学习SpringMVC的工作原理。...

    SpringMvc Demo (maven)

    在本项目"SpringMvc Demo (maven)"中,开发人员使用了Maven作为构建工具,Eclipse作为IDE,Tomcat 9作为应用服务器,以及JDK 1.8作为Java运行环境。这个小Demo实现了基本的用户登录功能以及数据操作的增删改查功能,...

    mina+springmvc demo

    标题"Mina+SpringMVC Demo"揭示了一个集成项目,它结合了Apache Mina与Spring MVC框架,用于构建网络通信和Web应用。Apache Mina是一个高度可扩展的网络通信框架,适用于TCP/IP和UDP/IP协议,而Spring MVC是Spring...

Global site tag (gtag.js) - Google Analytics