基于maven的springmvc+mybatis的web页面的CRUD
来源:互联网 发布:局域网是什么端口号 编辑:程序博客网 时间:2024/06/03 09:27
啥也不说直接上代码
工程目录结构图(马赛克部分就不用看了,那是我写的其他方面代码)
由于这是第一篇博客,并不是很熟悉CSDN博客的编写习惯,所以图片没有上传成功,,在这里说声抱歉
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;@Repositorypublic interface EmployeeDAO {Employee selectEmployeeById(int id);//通过ID查询EmployeeList<Employee> selectEmployees();//查询全部Employeeint addEmployee(Employee employee);//增加Employeevoid 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;@Repositorypublic 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{@Autowiredprivate EmployeeDAO employeeDAO;@Overridepublic Employee getEmployeeById(int id) {return employeeDAO.selectEmployeeById(id);}@Overridepublic List<Employee> getEmployees() {return employeeDAO.selectEmployees();}@Overridepublic int insert(Employee e) {return employeeDAO.addEmployee(e);}@Overridepublic void deleteEmployee(int id) {// TODO Auto-generated method stubemployeeDAO.deleteEmployee(id);}@Overridepublic void updateEmployee(Employee e) {// TODO Auto-generated method stubemployeeDAO.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 {@Autowiredprivate 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}")@ResponseBodypublic Object deleteInfo(@PathVariable int id){employeeService.deleteEmployee(id);return "delete" ;}@RequestMapping("/updateInfo")@ResponseBodypublic String updateInfo( Employee e){employeeService.updateEmployee(e);return "update";}@RequestMapping("/addInfo")@ResponseBodypublic 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 settingvalidationQuery=SELECT 1jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNulljdbc_username=rootjdbc_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就此谢幕,掌声在哪里????????????????
截图如下:
0 0
- 基于maven的springmvc+mybatis的web页面的CRUD
- 搭建基于SpringMVC+MyBatis+Maven的web项目
- SpringMVC+Spring+Mybatis基于Maven的整合
- 建立基于maven 的springmvc mybatis工程
- 基于MAVEN的SSM(SPRING,SPRINGMVC,MYBATIS)整合的WEB工程
- 基于Maven项目,搭建Spring+SpringMVC+MyBatis的WEB项目(待更新)
- 基于SpringMVC封装常用的CRUD操作
- 基于maven的SpringMVC,Spring,MyBatis的全注解配置
- 基于Maven的SpringMVC+Mybatis+mysql的框架搭建
- 基于maven的springmvc+mybatis的javaweb项目
- 基于Maven的SSM框架的搭建(Spring+SpringMVC+MyBatis)
- 基于maven的spring+springMvc+MyBatis+Dubbo架构的搭建
- Mybatis的CRUD操作(基于xml)
- Mybatis的CRUD操作(基于注解)
- 基于maven的mybatis+springmvc环境搭建以及集成bootstraps
- springmvc,mybatis,freemarker,maven-基于注解的整合
- 基于maven的spring+mybatis+springMVC框架搭建
- 基于Maven的SSM框架整合(Spring+SpringMVC+MyBatis)
- websocket是什么?
- android获取网络图片
- MongoDB实战
- 一篇非常好的讲解转场动画的文章链接
- 用CSS在外部加一层边框
- 基于maven的springmvc+mybatis的web页面的CRUD
- poj 1159 Palindrome
- python 3D绘制立体几何
- Spring事务中涉及到多线程的处理方式
- ListView或者Gallery结合checkBox使用
- 【B/S】引用Google或微软的CDN加载jQuery
- HTTP协议之chunk编码(分块传输编码)
- Spring Data JPA helloworld 最简单的demo
- 从JDK源码角度看java并发线程的中断