啥也不说直接上代码
工程目录结构图(马赛克部分就不用看了,那是我写的其他方面代码)
由于这是第一篇博客,并不是很熟悉优快云博客的编写习惯,所以图片没有上传成功,,在这里说声抱歉
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.RY</groupId>
<artifactId>smmdemo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>smmdemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<java-version>1.7</java-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.springframework-version>4.1.4.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
<jackson.version>2.5.0</jackson.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
<scope>test</scope>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.1</version>
</dependency>
<!-- mybatis spring插件 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.0</version>
</dependency>
<!-- Mysql连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
<!-- 数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>0.2.20</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.34</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies>
<build>
<finalName>smmdemo</finalName>
<plugins>
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>javarebel-maven-plugin</artifactId>
<version>1.0.5</version>
</plugin>
<!--指定war包地址 -->
<!-- <plugin> -->
<!-- <groupId>org.apache.maven.plugins</groupId> -->
<!-- <artifactId>maven-war-plugin</artifactId> -->
<!-- <configuration> -->
<!-- <outputDirectory>D:\publish\web\admin\</outputDirectory> -->
<!-- <warName>admin</warName> -->
<!-- </configuration> -->
<!-- </plugin> -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
<path>/demo</path>
</configuration>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>org.test.int1.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
Employee.java
package com.knooc.bean;
public class Employee {
private int id;
private String name;
private int age;
private String address;
public Employee(){
super();
}
public Employee(String name,int age){
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString(){
return "{ label:"+name+", y: "+age+"}";
}
}
EmployeeDAO.java
package com.knooc.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.knooc.bean.Employee;
@Repository
public interface EmployeeDAO {
Employee selectEmployeeById(int id);//通过ID查询Employee
List<Employee> selectEmployees();//查询全部Employee
int addEmployee(Employee employee);//增加Employee
void deleteEmployee(int id);//通过Id删除
void updateEmployee(Employee e);//更新Employee
}
EmployeeService.java
package com.knooc.service;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.knooc.bean.Employee;
@Repository
public interface EmployeeService {
public Employee getEmployeeById(int id);
public List<Employee> getEmployees();
public int insert(Employee e);
public void deleteEmployee(int id);
public void updateEmployee(Employee e);
}
EmployeeServiceImpl.java
package com.knooc.serviceimpl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.knooc.bean.Employee;
import com.knooc.dao.EmployeeDAO;
import com.knooc.service.EmployeeService;
@Service("EmployeeService")
public class EmployeeServiceImpl implements EmployeeService{
@Autowired
private EmployeeDAO employeeDAO;
@Override
public Employee getEmployeeById(int id) {
return employeeDAO.selectEmployeeById(id);
}
@Override
public List<Employee> getEmployees() {
return employeeDAO.selectEmployees();
}
@Override
public int insert(Employee e) {
return employeeDAO.addEmployee(e);
}
@Override
public void deleteEmployee(int id) {
// TODO Auto-generated method stub
employeeDAO.deleteEmployee(id);
}
@Override
public void updateEmployee(Employee e) {
// TODO Auto-generated method stub
employeeDAO.updateEmployee(e);
}
}
EmployeeController.java
package com.knooc.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.knooc.bean.Employee;
import com.knooc.service.EmployeeService;
@Controller
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@RequestMapping("/showInfo/{id}")
public String showEmployeeInfo(ModelMap modelMap, @PathVariable int id){
Employee employeeInfo = employeeService.getEmployeeById(id);
modelMap.addAttribute("employeeInfo", employeeInfo);
return "employee/showInfo";
}
//chartEmployeeInfos是猴子请来
@ResponseBody
@RequestMapping("/chartEmployeeInfos")
public Object chartEmployeeInfos(ModelMap modelMap){
List<Employee> employeeInfos = employeeService.getEmployees();
List<Map<String,Object>> data = new ArrayList<Map<String,Object>>();
for(Employee e : employeeInfos){
Map<String ,Object> map = new HashMap<String ,Object>();
map.put("label",e.getName());
map.put("y",e.getAge());
data.add(map);
}
return data;
// return employeeInfos;
}
@RequestMapping("/showEmployeeInfos")
public String showEmployeeInfos(ModelMap modelMap){
List<Employee> employeeInfos = employeeService.getEmployees();
modelMap.addAttribute("employeeInfos",employeeInfos);
return "employee/showInfos";
}
@RequestMapping("/deleteInfo/{id}")
@ResponseBody
public Object deleteInfo(@PathVariable int id){
employeeService.deleteEmployee(id);
return "delete" ;
}
@RequestMapping("/updateInfo")
@ResponseBody
public String updateInfo( Employee e){
employeeService.updateEmployee(e);
return "update";
}
@RequestMapping("/addInfo")
@ResponseBody
public String insert(Employee e){
employeeService.insert(e);
return "add";
}
// @RequestMapping("/findEmployeeInfos")
// public String findEmployeeInfos(ModelMap modelMap){
// Map<String, Object> map = new HashMap<>();
// List<Employee> employeeInfos = employeeService.getEmployees();
// modelMap.addAttribute("employeeInfos",employeeInfos);
// return "employee/showInfos";
// }
}
ladys and 乡亲们一下是配置文件部分
jdbc.properties(连接数据的)
#mysql version database druid setting
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
jdbc_username=root
jdbc_password=123456
EmployeeMapper.xml(实体的映射)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 接口的namespace -->
<mapper namespace="com.knooc.dao.EmployeeDAO">
<!-- 定义一个类型为Employee的List集合 -->
<resultMap type="com.knooc.bean.Employee" id="EmployeeList">
<result column="id" property="id" />
<result column="name" property="name" />
<result column="age" property="age" />
<result column="address" property="address" />
</resultMap>
<!-- sql语句定义 -->
<select id="selectEmployeeById" parameterType="int" resultType="com.knooc.bean.Employee">
select * from employee where id=#{id}
</select>
<select id="selectEmployees" resultMap="EmployeeList">
select * from employee
</select>
<insert id="addEmployee" parameterType="com.knooc.bean.Employee">
insert into employee value(#{id},#{name},#{age},#{address})
</insert>
<update id="updateEmployee" parameterType="com.knooc.bean.Employee">
update employee set name = #{name},age = #{age},address = #{address} where id = #{id}
</update>
<delete id="deleteEmployee" parameterType="java.lang.Integer">
delete from employee where id = #{id}
</delete>
</mapper>
root-context.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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
http://mybatis.org/schema/mybatis-spring
http://mybatis.org/schema/mybatis-spring.xsd">
<context:annotation-config />
<tx:annotation-driven/>
<!-- 引入属性文件 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<context:component-scan base-package="com.knooc.serviceimpl" />
<import resource="spring-mybatis.xml"/>
</beans>
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd ">
<annotation-driven />
<!-- Enables the Spring MVC @Controller programming model -->
<context:component-scan base-package="com.knooc.controller" />
<context:component-scan base-package="com.knooc.serviceimpl" />
<context:component-scan base-package="com.knooc.service" />
<context:component-scan base-package="com.knooc.dao" />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<resources mapping="/css/**" location="/css/" />
<resources mapping="/images/**" location="/images/" />
<resources mapping="/js/**" location="/js/" />
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
<!-- <bean id="mappingJacksonHttpMessageConverter" -->
<!-- class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> -->
<!-- <property name="supportedMediaTypes"> -->
<!-- <list> -->
<!-- <value>text/html;charset=UTF-8</value> -->
<!-- </list> -->
<!-- </property> -->
<!-- </bean> -->
<!-- Jackson转换器 -->
<beans:bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
<!-- fastjson转换器 -->
<beans:bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"/>
<!--启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<beans:bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
<beans:property name="messageConverters">
<beans:list>
<!-- json转换器 -->
<beans:ref bean="fastJsonHttpMessageConverter" />
</beans:list>
</beans:property>
</beans:bean>
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<beans:bean id="maxUploadSize" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<beans:property name="maxUploadSize" value="32505856" /><!-- 上传文件大小限制为31M,31*1024*1024 -->
<beans:property name="maxInMemorySize" value="4096" />
</beans:bean>
<!-- <bean id="EmployeeController" class="com.knooc.controller.EmployeeController" scope="prototype"> -->
<!-- <property name="employeeService" ref="employeeService"></property> -->
<!-- </bean> -->
</beans:beans>
spring-mybatis.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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
">
<!-- 配置数据源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="${jdbc_url}" />
<property name="username" value="${jdbc_username}" />
<property name="password" value="${jdbc_password}" />
<!--初始化连接大小 -->
<property name="initialSize" value="1" />
<!-- 连接池最大数量 -->
<property name="maxActive" value="20" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="1" />
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000" />
<!-- 用来检测有效sql -->
<property name="validationQuery" value="${validationQuery}" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="true" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000" />
<!-- 打开removeAbandoned功能 -->
<property name="removeAbandoned" value="true" />
<!-- 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800" />
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true" />
<!-- 监控数据库 -->
<property name="filters" value="mergeStat" />
</bean>
<!-- myBatis文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:EmployeeMapper.xml" />
</bean>
<!-- DAO接口所在包名,Spring会自动查找其下的类 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.knooc.dao" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 注解方式配置事物 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- 拦截器方式配置事物 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="find*" propagation="SUPPORTS" />
<tx:method name="query" propagation="SUPPORTS" />
<tx:method name="search*" propagation="SUPPORTS" />
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>
<!-- spring aop事物管理 -->
<aop:config proxy-target-class="true">
<aop:pointcut id="transactionPointcut" expression="execution(* com.knooc.service.*.*(..))" />
<aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />
</aop:config>
<!-- 配置druid监控spring jdbc -->
<!-- <bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"> -->
<!-- </bean> -->
<!-- <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype"> -->
<!-- <property name="patterns"> -->
<!-- <list> -->
<!-- <value>com.dahafo.demo.um.service.impl</value> -->
<!-- </list> -->
<!-- </property> -->
<!-- </bean> -->
<!-- <aop:config> -->
<!-- <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut" /> -->
<!-- </aop:config> -->
</beans>
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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:root-context.xml,classpath:spring-mybatis.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 用spring Encoding,解决乱码问题 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- 用spring Encoding,解决乱码问题 -->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- <listener> -->
<!-- <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> -->
<!-- </listener> -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>goto</servlet-name>
<jsp-file>/WEB-INF/views/employee/update.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>goto</servlet-name>
<url-pattern>/update</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>insert</servlet-name>
<jsp-file>/WEB-INF/views/employee/add.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>insert</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>allcharts</servlet-name>
<jsp-file>/WEB-INF/views/employee/allcharts.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>allcharts</servlet-name>
<url-pattern>/allcharts</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>columnchart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/columnchart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>columnchart</servlet-name>
<url-pattern>/columnchart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>linechart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/linechart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>linechart</servlet-name>
<url-pattern>/linechart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>barchart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/barchart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>barchart</servlet-name>
<url-pattern>/barchart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>piechart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/piechart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>piechart</servlet-name>
<url-pattern>/piechart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>doughnutchart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/doughnutchart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>doughnutchart</servlet-name>
<url-pattern>/doughnutchart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>splinechart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/splinechart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>splinechart</servlet-name>
<url-pattern>/splinechart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>steplinechart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/steplinechart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>steplinechart</servlet-name>
<url-pattern>/steplinechart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>areachart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/areachart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>areachart</servlet-name>
<url-pattern>/areachart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>splineareachart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/splineareachart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>splineareachart</servlet-name>
<url-pattern>/splineareachart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>pointchart</servlet-name>
<jsp-file>/WEB-INF/views/employee/chart/pointchart.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>pointchart</servlet-name>
<url-pattern>/pointchart</url-pattern>
</servlet-mapping>
<!-- <SERVLET> -->
<!-- <SERVLET-NAME>CHARTS</SERVLET-NAME> -->
<!-- <JSP-FILE>/WEB-INF/VIEWS/EMPLOYEE/CHARTS.JSP</JSP-FILE> -->
<!-- </SERVLET> -->
<!-- <SERVLET-MAPPING> -->
<!-- <SERVLET-NAME>CHARTS</SERVLET-NAME> -->
<!-- <URL-PATTERN>/CHARTS</URL-PATTERN> -->
<!-- </SERVLET-MAPPING> -->
</web-app>
showinfos,jsp
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script src="<%=basePath%>/js/jquery-1.8.3.min.js" type="text/javascript"></script>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<title>Insert title here</title>
<script type="text/javascript">
function del(id)
{
if(confirm("are you sure?")){
$.ajax({
type: "GET",
url: "<%=path%>/employee/deleteInfo/" +id,
success: function(data){
alert("删除数据成功!!");
},
error:function(data){
alert("出错了!!");
}
});
}
}
</script>
</head>
<body>
<table border = "1" width="500px">
<tr>
<td>姓名</td>
<td>年龄</td>
<td>地址</td>
<td>操作</td>
</tr>
<c:forEach items="${employeeInfos}" var="p">
<tr>
<td>${p.name}</td>
<td>${p.age}</td>
<td>${p.address}</td>
<td>
<a href="/demo/update?id=${p.id}"><input type="button" name="button2" value="修改"/></a>
<input type="button" name="button3" value="删除" onClick="del(${p.id})"/>
</td>
</tr>
</c:forEach>
</table>
<a href="/demo/add"><input type="button" name="button1" value="增加"/></a>
<a href="/demo/allcharts"><input type="button" name="button4" value="查看报表"/></a></body>
</html>
add.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script src="<%=basePath%>/js/jquery-1.8.3.min.js" type="text/javascript"></script>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
function add(id)
{
var param = $("#add_form").serialize();//获取表单中左右数据
$.ajax({
type: "POST",
url: "<%=path%>/employee/addInfo/",
data:param,
success: function(data){
alert("添加数据成功!!");
},
error:function(data){
alert("出错了!!");
}
});
}
</script>
</head>
<body>
<form method="post" id="add_form" >
<table>
<tr>
<td><label for="txtname">姓名:</label></td>
<td><input type="text" id="txtname" name="name" /></td>
</tr>
<tr>
<td><label for="txtage">年龄:</label></td>
<td><input type="text" id="txtage" name="age" /></td>
</tr>
<tr>
<td><label for="txtaddress">地址:</label></td>
<td><input type="text" id="txtaddress" name="address" /></td>
</tr>
<tr>
<td colspan=2>
<input type="reset" value="重置"/>
<input type="button" id="submit_button" value="提交" onclick="add()"/>
</td>
</tr>
</table>
</form>
</body>
</html>
update.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<script src="<%=basePath%>/js/jquery-1.8.3.min.js" type="text/javascript"></script>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
function update(id)
{
var param = $("#employee_form").serialize();//获取表单中左右数据
$.ajax({
type: "POST",
url: "<%=path%>/employee/updateInfo/",
data:param,
success: function(data){
alert("更新数据成功!!");
},
error:function(data){
alert("出错了!!");
}
});
}
</script>
</head>
<body>
<form method="post" id="employee_form" >
<input type="hidden" name="id" value="${param.id}">
<table>
<tr>
<td><label for="txtname">姓名:</label></td>
<td><input type="text" id="txtname" name="name" /></td>
</tr>
<tr>
<td><label for="txtage">年龄:</label></td>
<td><input type="text" id="txtage" name="age"/></td>
</tr>
<tr>
<td><label for="txtaddress">地址:</label></td>
<td><input type="text" id="txtaddress" name="address"/></td>
</tr>
<tr>
<td colspan=2>
<input type="reset" value="重置"/>
<input type="button" id="submit_button" value="提交" onclick="update()"/>
</td>
</tr>
</table>
</form>
</body>
</html>
人生的第一篇技术blog就此谢幕,掌声在哪里????????????????
截图如下: