• eclipse maven创建web项目


    记录地址

    jdk设置及文件包miss

    实例下载地址

    创建SSM整合项目

    一.使用Eclipse中的maven插件创建web项目

      1:

        

       2:

        

        3:

        

        4:

        

        5:maven web项目创建成功。(去掉index.jsp文件重新创建jsp文件,报错消失)

        

        6.

      7.

      8.Eclipse创建一个动态web项目,将其中的web.xml配置文件拷贝到maven项目中,注意修改项目名称。

    二、添加xml配置

      1.web.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
      <display-name>mybatis-spring02</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      
      <!-- web容器启动时根据contextConfigLocation配置的路径读取Spring的配置文件,然后启动Spring -->
      <context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:applicationContext.xml</param-value>
      </context-param>
      
      <listener>
          <listener-class>
              org.springframework.web.context.ContextLoaderListener
          </listener-class>
      </listener>
      <!-- 配置Springmvc所有的请求都要通过DispatcherServlet -->
      <servlet>
          <servlet-name>springmvc</servlet-name>
          <servlet-class>
              org.springframework.web.servlet.DispatcherServlet
          </servlet-class>
          <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath:springmvc-servlet.xml</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet-mapping>
          <servlet-name>springmvc</servlet-name>
          <url-pattern>/</url-pattern>
      </servlet-mapping>
      
      <!-- 编码utf-8 -->
      <filter>
          <filter-name>SpringEncodingFilter</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>
      <filter-mapping>
          <filter-name>SpringEncodingFilter</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>
    </web-app>

     2.springmvc-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:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.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-4.3.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
        
        <!-- 启用Controller注解支持 -->
        <mvc:annotation-driven></mvc:annotation-driven>
        <!-- 配置一个简单的静态资源映射规则 -->
        <mvc:resources location="static/" mapping="/static/**"></mvc:resources>
        <!-- 扫描Controller包下面的类 -->       
        <context:component-scan base-package="com.watermelon.*.controller"></context:component-scan>
        <!-- InternalResourceViewResolver将视图名映射为URL文件 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
            <property name="prefix" value="/WEB-INF/jsp/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
    </beans>

    3.mybatis-config.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    <configuration>
    
        <settings>
            <setting name="logImpl" value="LOG4J"/>
            <setting name="cacheEnabled" value="true"/>
            <setting name="mapUnderscoreToCamelCase" value="true"/>
            <setting name="aggressiveLazyLoading" value="false"/>
        </settings>
    
    </configuration>

    4.log4j.properties

    ### Global logging configuration
    log4j.rootLogger=ERROR, stdout
    
    ### Uncomment for MyBatis logging
    log4j.logger.com.watermelon.web.mapper=TRACE
    
    ### Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    5.applicationContext.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:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
        xsi:schemaLocation="http://www/springframework.org/schema/context http://www/springframework.org/schema/context/spring-context.xsd
            http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.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-4.3.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
         <!--spring  -->
         <context:component-scan base-package="com.watermelon.web.service.impl"/> 
         
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="addToConfig" value="true"/>
            <property name="basePackage" value="com.watermelon.web.mapper"/>
        </bean>
        
         <!-- spring自动扫描 包下面的带注解的类,并注册到Sping的bean容器中 service.impl
        <context:component-scan base-package="com.watermelon.web.service.impl"></context:component-scan>-->
        <!-- mybatis-spring:scan 会扫描com.watermelon.dao包下面的所有接口当作Spring的bean配置 
        <mybatis-spring:scan base-package="com.watermelon.web.mapper"/>-->
    
        <bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/simple"/>
            <property name="username" value="root"/>
            <property name="password" value="123456"/>
        </bean>
        
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="configLocation" value="classpath:mybatis-config.xml"/>
            <property name="dataSource" ref="dataSource"/>
            <property name="mapperLocations">
                <array>
                    <value>classpath:com/watermelon/web/mapper/*.xml</value>
                </array>
            </property>
            <property name="typeAliasesPackage" value="com.watermelon.web.model"/>
        </bean>
    
     
         
      <!-- Spring  aop事务 -->
        <aop:aspectj-autoproxy/>
    
        <aop:config>
            <aop:pointcut id="appService" expression="execution(* com.watermelon.*.service..*Service*.*(..))"/>
            <aop:advisor advice-ref="txAdvice" pointcut-ref="appService"/>
        </aop:config>
    
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="select*" read-only="true"/>
                <tx:method name="find*" read-only="true"/>
                <tx:method name="get*" read-only="true"/>
                <tx:method name="*"/>
            </tx:attributes>
        </tx:advice>
    
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"/>
        </bean>
        
    </beans>

    项目结构:

        

  • 相关阅读:
    Java Lock Example – ReentrantLock(java锁的例子)
    Java Scheduler ScheduledExecutorService ScheduledThreadPoolExecutor Example(ScheduledThreadPoolExecutor例子——了解如何创建一个周期任务)
    ThreadPoolExecutor – Java Thread Pool Example(java线程池创建和使用)
    Java Timer TimerTask Example(java Timer的例子)
    Java ThreadLocal Example(java中的ThreadLocal例子)
    Thread Safety in Java(java中的线程安全)
    java 线程方法join的简单总结
    JAVA多线程和并发基础
    BAT面试常的问题和最佳答案
    linux服务脚本编写
  • 原文地址:https://www.cnblogs.com/watermelonban/p/7614442.html
Copyright © 2020-2023  润新知