zoukankan      html  css  js  c++  java
  • maven+springmvc的配置

     1. 首先创建1个mavenweb项目  如果没有的话最好是去官网下载一个最新版本的eclipse  里面什么都有 maven/gradle 啥的

     2. 选择路径   没啥影响 就是一个路径 默认就行

    3. 这里一定要选择  webapp  web项目么 怎么能不选择webapp呢

    4.  这里就是起名字了  

    groupId一般分为多个段,第一段为域,第二段为公司名称,这里就 com.demo 吧,举个例子

    ArtifactID   就是项目根目录的名称。 我们这是springmvc 就叫springmvc吧

     5. 到这里项目就建好了  但是我们还要注意 新建出来的肯定会报错因为 jdk版本不对和tomcat没有添加     右击项目springmvc-->properties

       1)  看看这两个有没有勾选

       

     2) java build path 配置好    这里jdk要edit   tomcat要 Add Libary-->Server Runtime

       6.  这个时候 项目上面应该没有红叉了  神清气爽   下面就是配置了     

       1) 首先给大家看下完整的项目目录  

         

       2)  既然是maven 那么首先肯定是在pom.xml中添加jar包    有点长!!

       

    <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.ding</groupId>
      <artifactId>springmvc</artifactId>
      <packaging>war</packaging>
      <version>0.0.1-SNAPSHOT</version>
      <name>springmvc Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <properties>
        <spring.version>4.3.9.RELEASE</spring.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aop</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-aspects</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>${spring.version}</version>
        </dependency>


        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-expression</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${spring.version}</version>
        </dependency>


        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-tx</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
          <version>${spring.version}</version>
        </dependency>

        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>${spring.version}</version>
        </dependency>
    <!-- commons jar -->

        <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>1.2</version>
        </dependency>

        <dependency>
          <groupId>jstl</groupId>
          <artifactId>jstl</artifactId>
          <version>1.2</version>
        </dependency>

        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.17</version>
        </dependency>

        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.31</version>
        </dependency>

        <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>druid</artifactId>
        <version>1.0.19</version>
        </dependency>
      </dependencies>
      <build>
        <finalName>springmvc</finalName>
      </build>
    </project>

       3) jar加完了 springmvc的第一步肯定是dispatcher   去配置web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      <display-name>Archetype Created Web Application</display-name>
      <!-- 首先是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:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>

      <!-- 这里配置了log4j 打印日志   这里配置了context后一定要记得配置对应的listener    我是在配置mybatis的时候因为没有配置对应的监听listener    dao方法无法注入   找了1整整一天  血的教训啊  -->
      <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:log4j.properties</param-value>
      </context-param>

      <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
      </listener>

      <!-- 这个是为Servlet定制URL 也就是拦截什么样的前台请求 -->
      <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>

      <!-- 首页 -->
      <welcome-file-list>
        <welcome-file>/login.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

         4)  下面配置 DispatcherServlet 中的springmvc  和log4jConfigLocation 的log4j.properties   还有就是springmvc用到的数据库参数  dbconfig.properties

        一.   dbconfig.properties   最简单的其他的访问数啥的配置都没有加 毕竟是联系配置的 不是做项目

        db.username=root
        db.password=123456
        db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf-8
        db.dirverClass=com.mysql.jdbc.Driver

        二.  log4j.properties   这就复制就行  我也不是很明白啥意思

         

        # This is the configuring for logging displayed in the Application Server
        log4j.rootCategory=DEBUG,stdout,logfile

        #stdout configure
        log4j.appender.stdout=org.apache.log4j.ConsoleAppender
        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
        log4j.appender.stdout.layout.ConversionPattern= %d %p [%c] - <%m>%n

        #logfile configure
        log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
        log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/ssm.log
        #log4j.appender.logfile.File=/WEB-INF/logs/ssm.log
        #u65E5u5FD7u6587u4EF6u7684u8DEFu5F84u548Cu540Du79F0
        #log4j.appender.R.File=./../logs/ssm.log
        log4j.appender.logfile.MaxFileSize=10M
        log4j.appender.logfile.MaxBackupIndex=100
        log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
        log4j.appender.logfile.layout.ConversionPattern= %d %p [%c] - <%m>%n

        #debug log for spring
        log4j.logger.org.springframework=DEBUG

        # debug log for ibatis
        log4j.logger.java.sql.Connection=DEBUG
        log4j.logger.java.sql.Statement=DEBUG
        log4j.logger.java.sql.PreparedStatement=DEBUG

         三.  spring-mvc.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:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    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
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">


        <mvc:annotation-driven/>
        <context:component-scan base-package="com.demo" />

        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
          <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
          <property name="prefix" value="/WEB-INF/views/"></property>
          <property name="suffix" value=".jsp"></property>
        </bean>
        <!-- 下面这段话的意思是我们可以通过${} 来获取classpath:dbconfig.properties中的值 -->
        <context:property-placeholder ignore-unresolvable="true" location="classpath:dbconfig.properties"/>

        <!-- 这里使用的是阿里巴巴的jar包 包的名字是druid .jar-->
        <bean id="mysqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
          <property name="driverClassName"> <value>${db.dirverClass}</value> </property>
          <property name="url" > <value>${db.url}</value> </property>
          <property name="username" > <value>${db.username}</value> </property>
          <property name="password" > <value>${db.password}</value> </property>
        </bean>
        <!-- 这里配置一个jdbcTemplate 用来连接数据库 -->
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
          <constructor-arg ref="mysqlDataSource" />
        </bean>

        <!-- dao注入 -->
        <bean id="studentDao" class="com.demo.dao.StudentDaoImpl">
          <property name="jdbcTemplate" ref="jdbcTemplate"></property>
        </bean>
    </beans>

         7.  这就配置完了 下面是做个测试  

        1)  首先是页面 login.jsp     通过form做一个提交 这里提交到 controller方法中去--->spring/student/testController

      <form action="spring/student/testController" method="post">
        <br />用户名: <input type="text" name="name"> <br /> <br />年龄: <input
        type="text" name="age"> <br /> <br /> 老师: <input
        type="text" name="teacher">
        <br /> <input type="submit" value="登录">
      </form>

      

        2)   StudentController.java    做一个简单的测试 往数据库添加一条数据

      @Controller
      @RequestMapping("/spring/student")
      public class StudentController {
        @Autowired
        private StudentService ss;


        @RequestMapping(value="/testController")
        public String toPage(Student s){
          System.out.println(s.toString());
          s.setId(33);
          ss.save(s);
          return "success";
        }

      }

        3)  StudentService  这个没啥注解需要添加

       

        public interface StudentService {
          public void save(Student student);
        }

       

        4)  StudentServiceImpl  

        @Service("StudentService")
        public class StudentServiceImpl implements StudentService {
          @Resource(name="studentDao")
          private StudentDao studentDao;

          public void save(Student student) {
            studentDao.insert(student);
          }

        }

           5)StudentDao 

        public interface StudentDao {

        public void insert(Student student);

        }

           6)  StudentDaoImpl   因为在springmvc中我们给studentDao注入了jdbcTemplate  所以这里可以直接使用     数据库 我就这里就不掩饰了  没事难度

        @Repository("studentDao")
        public class StudentDaoImpl extends JdbcDaoSupport implements StudentDao {


          public void insert(Student student) {
            String sql="insert into users(id,firstname,lastname,phone,email) values(?,?,?,?,?)";
            getJdbcTemplate().update(sql, new Object[]{66,"yijiang","ding","18330698119","email"});
          }

         }

            这样我们的maven+springmvc就配置完毕了    说一个容易犯的错误  

      

          当我们导入的话如果报错      类似于下面 calss类找不到  但是我们ctrl 一点明明有的时候 解决办法:

          项目点击右键 点击 Properties 选择Deployment Assembly 再点击右边的Add按钮 选择Java Build Path Entries后点击Next按钮 然后选择你的Maven Dependencies 确定即可

    Error configuring application listener of class org.springframework.web.util.Log4jConfigListener

    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

  • 相关阅读:
    Maidsafe-去中心化互联网白皮书
    The Top 20 Cybersecurity Startups To Watch In 2021 Based On Crunchbase
    Top 10 Blockchain Security and Smart Contract Audit Companies
    The 20 Best Cybersecurity Startups To Watch In 2020
    Blockchain In Cybersecurity: 11 Startups To Watch In 2019
    004-STM32+BC26丨260Y基本控制篇(阿里云物联网平台)-在阿里云物联网平台上一型一密动态注册设备(Android)
    涂鸦开发-单片机+涂鸦模组开发+OTA
    000-ESP32学习开发-ESP32烧录板使用说明
    03-STM32+Air724UG远程升级篇OTA(阿里云物联网平台)-STM32+Air724UG使用阿里云物联网平台OTA远程更新STM32程序
    03-STM32+Air724UG远程升级篇OTA(自建物联网平台)-STM32+Air724UG实现利用http/https远程更新STM32程序(TCP指令,单片机程序检查更新)
  • 原文地址:https://www.cnblogs.com/studyitskill/p/8304037.html
Copyright © 2011-2022 走看看