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

  • 相关阅读:
    将后台返回的 xml replace
    程序员数学的重要性
    .net里生成的 checkboxlist 至少要选择一个
    关于如何坚持目标,网上偶然看到的,转载一下
    犹豫不决(收集)
    CSS中Padding参数说明及使用指南
    IE地址栏小图标问题
    常用sql语句集锦
    ie9怎么开兼容模式
    一台MySql服务器不同数据库之间数据同步_解决方案(Java)
  • 原文地址:https://www.cnblogs.com/studyitskill/p/8304037.html
Copyright © 2011-2022 走看看