• 搭建一个Web应用


    因为EasyUI会涉及到与后台数据的交互,所以使用Spring MVC作为后台,搭建一个完整的Web环境

    使用gradle作为构建工具

    build.gradle

     1 group 'org.zln.lkd'
     2 version '1.0-SNAPSHOT'
     3 
     4 apply plugin: 'jetty'
     5 
     6 sourceCompatibility = 1.8
     7 
     8 repositories {
     9     mavenLocal()
    10     mavenCentral()
    11 }
    12 
    13 dependencies {
    14     compile(
    15             "org.slf4j:slf4j-api:1.7.21",
    16             "org.apache.logging.log4j:log4j-slf4j-impl:2.7",
    17             "org.apache.logging.log4j:log4j-core:2.7",
    18             "org.apache.logging.log4j:log4j-api:2.7",
    19             "org.apache.commons:commons-lang3:3.3.2",
    20             "org.springframework:spring-context:4.3.1.RELEASE",
    21             "org.springframework:spring-aop:4.3.1.RELEASE",
    22             "org.springframework:spring-core:4.3.1.RELEASE",
    23             "org.springframework:spring-expression:4.3.1.RELEASE",
    24             "org.springframework:spring-beans:4.3.1.RELEASE",
    25             "org.springframework:spring-webmvc:4.3.1.RELEASE",
    26             "org.springframework:spring-web:4.3.1.RELEASE",
    27             "org.springframework:spring-jdbc:4.3.1.RELEASE",
    28             "org.springframework:spring-tx:4.3.1.RELEASE",
    29             "org.springframework:spring-test:4.3.1.RELEASE",
    30             "org.springframework:spring-aspects:4.3.1.RELEASE",
    31             "mysql:mysql-connector-java:5.1.32",
    32             "com.alibaba:druid:1.0.9",
    33             "org.mybatis:mybatis:3.4.1",
    34             "org.mybatis:mybatis-spring:1.3.0",
    35             "com.github.pagehelper:pagehelper:4.1.6",
    36             "javax.servlet:javax.servlet-api:4.0.0-b01",
    37             "jstl:jstl:1.2",
    38             "com.fasterxml.jackson.core:jackson-databind:2.8.1"
    39     )
    40 
    41     testCompile(
    42             "junit:junit:4.12"
    43     )
    44 }
    45 
    46 //    自动创建好src目录  包括源码与测试源码
    47 task mkdirs << {
    48     sourceSets*.java.srcDirs*.each { it.mkdirs() }
    49     sourceSets*.resources.srcDirs*.each { it.mkdirs() }
    50 }
    51 
    52 // 显示当前项目下所有用于 compile 的 jar.
    53 task listJars(description: 'Display all compile jars.') << {
    54     configurations.compile.each { File file -> println file.name }
    55 }
    build.gradle

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     5          version="3.1">
     6 
     7     <!--过滤器设置请求编码-->
     8     <filter>
     9         <filter-name>CharacterEncodingFilter</filter-name>
    10         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    11         <init-param>
    12             <param-name>encoding</param-name>
    13             <param-value>utf-8</param-value>
    14         </init-param>
    15     </filter>
    16     <filter-mapping>
    17         <filter-name>CharacterEncodingFilter</filter-name>
    18         <url-pattern>/*</url-pattern>
    19     </filter-mapping>
    20 
    21 
    22 
    23     <welcome-file-list>
    24         <welcome-file>index.jsp</welcome-file>
    25     </welcome-file-list>
    26 
    27 </web-app>
    web.xml

    Spring初始化

    AppInit.java

     1 package conf.spring;
     2 
     3 import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
     4 
     5 /**
     6  * Spring初始化类
     7  * Created by sherry on 16/11/28.
     8  */
     9 public class AppInit extends AbstractAnnotationConfigDispatcherServletInitializer {
    10 
    11 
    12     /**
    13      * Spring后台配置类
    14      * @return
    15      */
    16     @Override
    17     protected Class<?>[] getRootConfigClasses() {
    18         return new Class<?>[]{AppRootConf.class};
    19     }
    20 
    21     /**
    22      * Spring MVC配置类
    23      * @return
    24      */
    25     @Override
    26     protected Class<?>[] getServletConfigClasses() {
    27         return new Class<?>[]{AppServletConf.class};
    28     }
    29 
    30     /**
    31      * 拦截地址呗Spring MVC处理
    32      * @return
    33      */
    34     @Override
    35     protected String[] getServletMappings() {
    36         return new String[]{"*.json","*.html","*.do","*.action","*.ajax"};
    37     }
    38 }
    AppInit.java

    AppRootConf.java

     1 package conf.spring;
     2 
     3 import org.springframework.context.annotation.ComponentScan;
     4 import org.springframework.context.annotation.Configuration;
     5 import org.springframework.context.annotation.FilterType;
     6 import org.springframework.context.annotation.ImportResource;
     7 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
     8 
     9 /**
    10  * Created by sherry on 16/11/28.
    11  */
    12 @Configuration
    13 //排除Spring MVC注解类
    14 @ComponentScan(basePackages = {"org.zln"}, excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class)})
    15 @ImportResource("classpath:applicationContext.xml")
    16 public class AppRootConf {
    17 }
    AppRootConf.java

    AppServletConf.java

     1 package conf.spring;
     2 
     3 import org.springframework.context.annotation.*;
     4 import org.springframework.stereotype.Controller;
     5 import org.springframework.web.servlet.ViewResolver;
     6 import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
     7 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
     8 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
     9 import org.springframework.web.servlet.view.InternalResourceViewResolver;
    10 import org.springframework.web.servlet.view.JstlView;
    11 
    12 /**
    13  * Created by sherry on 16/11/28.
    14  */
    15 @Configuration
    16 //开启MVC支持,同 <mvc:annotation-driven>
    17 @EnableWebMvc
    18 //仅扫描Controller注解的类
    19 @ComponentScan(value = "org.zln",useDefaultFilters = false,includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = Controller.class)})
    20 @ImportResource("classpath:applicationContext-mvc.xml")
    21 public class AppServletConf extends WebMvcConfigurerAdapter {
    22 
    23     /**
    24      * 配置JSP视图解析器
    25      * @return
    26      */
    27     @Bean
    28     public ViewResolver viewResolver(){
    29         InternalResourceViewResolver resourceViewResolver = new InternalResourceViewResolver();
    30         resourceViewResolver.setPrefix("/WEB-INF/jsp/");
    31         resourceViewResolver.setSuffix(".jsp");
    32         //JstlView表示JSP模板页面需要使用JSTL标签库,classpath中必须包含jstl的相关jar包;
    33         resourceViewResolver.setViewClass(JstlView.class);
    34         resourceViewResolver.setExposeContextBeansAsAttributes(true);
    35         return resourceViewResolver;
    36     }
    37 
    38     /**
    39      * 配置静态资源的处理:要求DispatcherServlet将对静态资源的请求转发到Servlet容器默认的Servlet上,
    40      * 而不是使用DispatcherServlet本身来处理
    41      * @param configurer
    42      */
    43     @Override
    44     public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    45         configurer.enable();
    46     }
    47 
    48 }
    AppServletConf.java

    配置文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xmlns:tx="http://www.springframework.org/schema/tx"
     6        xmlns:p="http://www.springframework.org/schema/p"
     7        xsi:schemaLocation="http://www.springframework.org/schema/beans
     8        http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
     9        http://www.springframework.org/schema/context
    10        http://www.springframework.org/schema/context/spring-context-4.3.xsd
    11        http://www.springframework.org/schema/tx
    12        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
    13 
    14 
    15 </beans>
    applicationContext.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xmlns:p="http://www.springframework.org/schema/p"
     6        xmlns:mvc="http://www.springframework.org/schema/mvc"
     7        xsi:schemaLocation="http://www.springframework.org/schema/beans
     8        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
     9        http://www.springframework.org/schema/context
    10        http://www.springframework.org/schema/context/spring-context-4.1.xsd
    11        http://www.springframework.org/schema/mvc
    12        http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
    13     <!--静态资源-->
    14     <mvc:resources mapping="/css/**" location="/WEB-INF/css/"/>
    15 
    16     <!--<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">-->
    17         <!--<property name="supportedMediaTypes">-->
    18             <!--<list>-->
    19                 <!--<value>text/html;charset=UTF-8</value>-->
    20             <!--</list>-->
    21         <!--</property>-->
    22     <!--</bean>-->
    23     <!--<bean id="formHttpMessageConverter" class="org.springframework.http.converter.FormHttpMessageConverter"></bean>-->
    24 
    25     <!--<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">-->
    26         <!--<property name="messageConverters">-->
    27             <!--<list>-->
    28                 <!--<ref bean="formHttpMessageConverter"/>-->
    29                 <!--<ref bean="mappingJacksonHttpMessageConverter"/>-->
    30             <!--</list>-->
    31         <!--</property>-->
    32     <!--</bean>-->
    33 </beans>
    applicationContext-mvc.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <configuration status="OFF">
     3     <!--appenders配置输出到什么地方-->
     4     <appenders>
     5         <!--Console:控制台-->
     6         <Console name="Console" target="SYSTEM_OUT">
     7             <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
     8         </Console>
     9     </appenders>
    10 
    11     <loggers>
    12         <!--建立一个默认的root的logger-->
    13         <root level="trace">
    14             <appender-ref ref="Console"/>
    15         </root>
    16     </loggers>
    17 </configuration>
    log4j2.xml
  • 相关阅读:
    OpenCV 最小二乘拟合方法求取直线倾角
    BFS-hdu-4101-Ali and Baba
    手机安全卫士开发系列(1)——功能列表
    【Linux常用工具】1.1 diff命令的三种格式
    手机安全卫士开发系列(2)——splash界面
    Ruby学习笔记(二)
    jQuery Animation实现CSS3动画
    HDU2699+Easy
    android中解析文件的三种方式
    查找某元素
  • 原文地址:https://www.cnblogs.com/sherrykid/p/6225175.html
Copyright © 2020-2023  润新知