idea中用maven配置springmvc!

来源:互联网 发布:爱狗人士杨玉华 知乎 编辑:程序博客网 时间:2024/05/22 03:06

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.wzl.springMvc</groupId>  <artifactId>springMvc</artifactId>  <packaging>war</packaging>  <version>1.0-SNAPSHOT</version>  <name>springMvc Maven Webapp</name>  <url>http://maven.apache.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <spring.version>3.1.2.RELEASE</spring.version><!--设置spring插入包的版本  -->  </properties>  <dependencies>    <!-- junit测试类包 -->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>      <scope>test</scope>    </dependency>    <!--Mysql连接包  -->    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>5.1.39</version>    </dependency>    <!--jstl包  -->    <dependency>      <groupId>jstl</groupId>      <artifactId>jstl</artifactId>      <version>1.2</version>    </dependency>    <!--servlet  -->    <dependency>      <groupId>javax.servlet</groupId>      <artifactId>javax.servlet-api</artifactId>      <version>3.1.0</version>      <scope>provided</scope>    </dependency>    <!-- Logging日志包 -->    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-log4j12</artifactId>      <version>1.7.21</version>      <exclusions>        <exclusion>          <artifactId>slf4j-api</artifactId>          <groupId>org.slf4j</groupId>        </exclusion>      </exclusions>    </dependency>    <dependency>      <groupId>org.slf4j</groupId>      <artifactId>slf4j-api</artifactId>      <version>1.7.21</version>    </dependency>    <!--spring包  -->    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-webmvc</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-context</artifactId>      <version>${spring.version}</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-aop</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-test</artifactId>      <version>${spring.version}</version>    </dependency>    <!--<dependency>      <groupId>org.junit.jupiter</groupId>      <artifactId>junit-jupiter-api</artifactId>      <version>RELEASE</version>    </dependency>-->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>    </dependency>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>    </dependency>    <!-- spring end -->  </dependencies>  <build>    <plugins>      <!--直接打包的时候报错,说没有web.xml就加这段话  -->      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-war-plugin</artifactId>        <version>3.0.0</version>        <configuration>          <failOnMissingWebXml>false</failOnMissingWebXml>        </configuration>      </plugin>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-shade-plugin</artifactId>        <version>1.2.1</version>        <executions>          <execution>            <phase>package</phase>            <goals>              <goal>shade</goal>            </goals>            <configuration>              <transformers>                <transformers implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">                  <mainClass>com.wzl.test.HelloWorld</mainClass>                </transformers>              </transformers>            </configuration>          </execution>        </executions>      </plugin>      <!--要发布tomcat,就要配置tomcat  -->      <plugin>        <groupId>org.codehaus.mojo</groupId>        <artifactId>tomcat-maven-plugin</artifactId>        <configuration>          <server>tomcat</server>          <url>http://localhost/manager/text</url>          <path>/hello-world</path><!--要写项目名,是我们web访问路劲,如果没写,直接localhost:8080就能访问项目的index.jsp了  -->        </configuration>      </plugin>    </plugins>  </build></project>
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  <display-name>Spring MVC Study</display-name>  <!-- Spring应用上下文, 理解层次化的ApplicationContext -->  <context-param>      <param-name>contextConfigLocation</param-name>      <param-value>classpath:config/applicationContext*.xml</param-value>  </context-param>    <listener>      <listener-class>         org.springframework.web.context.ContextLoaderListener      </listener-class>  </listener>    <!-- DispatcherServlet, Spring MVC的核心 -->  <servlet>      <servlet-name>mvc-dispatcher</servlet-name>      <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class>      <!-- DispatcherServlet对应的上下文配置, 默认为/WEB-INF/$servlet-name$-servlet.xml       -->      <init-param>          <param-name>contextConfigLocation</param-name>          <param-value>classpath:config/dispatcher-servlet.xml</param-value>        </init-param>      <load-on-startup>1</load-on-startup>   </servlet>   <servlet-mapping>      <servlet-name>mvc-dispatcher</servlet-name>       <!-- mvc-dispatcher拦截所有的请求-->      <url-pattern>/</url-pattern>   </servlet-mapping></web-app>

log4j.properties

##    Copyright 2009-2012 the original author or authors.##    Licensed under the Apache License, Version 2.0 (the "License");#    you may not use this file except in compliance with the License.#    You may obtain a copy of the License at##       http://www.apache.org/licenses/LICENSE-2.0##    Unless required by applicable law or agreed to in writing, software#    distributed under the License is distributed on an "AS IS" BASIS,#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.#    See the License for the specific language governing permissions and#    limitations under the License.#### Global logging configurationlog4j.rootLogger=ERROR, stdout### Uncomment for MyBatis logginglog4j.logger.org.apache.ibatis=ERROR### Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

log4j.xml

<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">  <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  <!-- Appenders -->  <appender name="console" class="org.apache.log4j.ConsoleAppender">  <param name="Target" value="System.out" />  <layout class="org.apache.log4j.PatternLayout">  <param name="ConversionPattern" value="%d [%t] %-5p: %c - %m%n" />  </layout>  </appender>  <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">  <param name="File" value="${log.dir}/com.xxx.account.log"/>  <param name="Append" value="true"/>  <param name="DatePattern" value=".yyyy-MM-dd" />  <layout class="org.apache.log4j.PatternLayout">  <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>  </layout>  </appender>  <appender name="account-error" class="org.apache.log4j.FileAppender">  <param name="File" value="${log.dir}/account-error.log"/>  <param name="Append" value="true"/>  <layout class="org.apache.log4j.PatternLayout">  <param name="ConversionPattern" value="%d|[%t]|%-5p|%c| - %m%n"/>  </layout>  </appender>  <!-- Application Loggers -->  <logger name="com.xxx.account">  <level value="info" />  </logger>  <logger name="com.xxx.account-error">  <level value="error" />  <appender-ref ref="${log.appender}" />  <appender-ref ref="account-error" />  </logger>  <!-- Root Logger -->  <root>  <level value="info"></level>  <appender-ref ref="${log.appender}" />  </root>  </log4j:configuration> 

application.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"      xsi:schemaLocation="http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/aop         http://www.springframework.org/schema/aop/spring-aop.xsd         http://www.springframework.org/schema/tx         http://www.springframework.org/schema/tx/spring-tx.xsd         http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context.xsd">   <context:annotation-config />   <context:component-scan base-package="com.wzl">      <context:exclude-filter type="annotation"                        expression="org.springframework.stereotype.Controller" />   </context:component-scan></beans>

dispatcher-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:p="http://www.springframework.org/schema/p"       xsi:schemaLocation="http://www.springframework.org/schema/beans            http://www.springframework.org/schema/beans/spring-beans.xsd            http://www.springframework.org/schema/mvc            http://www.springframework.org/schema/mvc/spring-mvc.xsd            http://www.springframework.org/schema/context            http://www.springframework.org/schema/context/spring-context.xsd"       default-lazy-init="true">    <!-- 本配置文件是工名为dispatcher的DispatcherServlet使用, 提供其相关的Spring MVC配置 -->    <!-- 启用Spring基于annotation的DI, 使用户可以在Spring MVC中使用Spring的强大功能。 激活 @Required        @Autowired,JSR 250's @PostConstruct, @PreDestroy and @Resource 等标注 -->    <context:annotation-config />    <!-- DispatcherServlet上下文, 只管理@Controller类型的bean, 忽略其他型的bean, 如@Service -->    <!-- 默认扫描的包路径 -->    <context:component-scan base-package="com.wzl.controller">        <context:include-filter type="annotation"                                expression="org.springframework.stereotype.Controller" />    </context:component-scan>    <!-- HandlerMapping, 无需配置, Spring MVC可以默认启动。 DefaultAnnotationHandlerMapping        annotation-driven HandlerMapping -->    <!-- 扩充了注解驱动,可以将请求参数绑定到控制器参数 -->    <mvc:annotation-driven />    <!-- 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源,而不通过控制器 -->    <!-- 设置不过滤内容,比如:css,jquery,img 等资源文件 -->    <mvc:resources location="/*.html" mapping="/**.html" />    <mvc:resources location="/css/*" mapping="/css/**" />    <mvc:resources location="/js/*" mapping="/js/**" />    <mvc:resources location="/images/*" mapping="/images/**" />    <!-- mvc:view-controller可以在不需要Controller处理request的情况,转向到设置的View -->    <!-- 像下面这样设置,如果请求为/,则不通过controller,而直接解析为/index.jsp -->    <mvc:view-controller path="/" view-name="index" />    <!-- 配置ViewResolver。 可以用多个ViewResolver。 使用order属性排序。 InternalResourceViewResolver放在最后。 -->    <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>        <!-- 配置jsp路径前缀 -->        <property name="prefix" value="/"></property>        <!-- 配置URl后缀 -->        <property name="suffix" value=".jsp"></property>    </bean>    <!-- InternalResourceViewResolver放在最后。  -->    <bean            class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="viewClass"                  value="org.springframework.web.servlet.view.JstlView" />        <property name="prefix" value="/springMvc/" /><!--这个写的是项目名-->        <property name="suffix" value=".jsp" />    </bean></beans>
UserController.java

package com.wzl.controller;import com.wzl.entity.User;import com.wzl.service.UserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;import java.sql.SQLException;import java.util.Map;/** * Created by Administrator on 2017/3/19. */@Controller@RequestMapping(value="user")//或者写成@RequestMapping(value="User")public class UserController {    @Autowired    private UserService userService;    @RequestMapping(value="login")    public String login(@RequestParam(value="username", required=true)String username,                        @RequestParam(value="password",required=true)String password,                        HttpServletRequest request) throws SQLException, ClassNotFoundException {                        System.out.println("啦啦啦");                        User user=userService.login(username,password);                        if(user==null && user.equals("")){                            request.setAttribute("login-error","帐号或者密码错误");                            return "login";                        }else{                            request.setAttribute("user",user);                            return "login-success";                        }    }    @RequestMapping(value="index")    public User index(@RequestParam(value="username", required=true)String username,                @RequestParam(value="password",required=true)String password,                      Map<String, Object> model)throws SQLException, ClassNotFoundException {        System.out.println(1);        User user=userService.login(username,password);        model.put("user",user);        System.out.println(3);        return user;    }}
UserServiceImpl.java

package com.wzl.serviceImpl;import com.wzl.dao.UserDao;import com.wzl.daoImpl.UserDaoImpl;import com.wzl.entity.User;import com.wzl.service.UserService;import org.junit.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Service;import java.sql.SQLException;/** * Created by Administrator on 2017/3/19. */@Service("userService")public class UserServiceImpl implements UserService {    private UserDao userDao=new UserDaoImpl();    public User login(String username, String password) throws SQLException, ClassNotFoundException {            User user=userDao.login(username,password);            return user;    }    @Test    public void test1() throws SQLException, ClassNotFoundException {        UserService userService=new UserServiceImpl();        User user=userService.login("111","111");        System.out.println(user.getName());    }}
UserDaoImpl.java

package com.wzl.daoImpl;import com.wzl.dao.UserDao;import com.wzl.entity.User;import com.wzl.utils.Jdbc_Utils;import org.junit.Test;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/** * Created by Administrator on 2017/3/19. */public class UserDaoImpl implements UserDao{        private Connection con;        private PreparedStatement prt;        private ResultSet rest;        private String sql="SELECT*FROM `user` WHERE username=? AND `password`=? ";        User user=new User();    public User login(String username, String password) throws SQLException, ClassNotFoundException {        con= Jdbc_Utils.getConnections();        prt=con.prepareStatement(sql);        prt.setString(1,username);        prt.setString(2,password);        rest=prt.executeQuery();        if(rest.next()){            int  id=rest.getInt(1);            String username1=rest.getString(2);            System.out.println(username1);            String password1=rest.getString(3);            String name=rest.getString(4);            String message=rest.getString(5);            user.setId(id);            user.setPassword(password1);            user.setUsername(username1);            user.setMessage(message);            user.setName(name);            System.out.println(user.getName());            System.out.println("进来了吗");        }else{            System.out.println("难道又进来了吗");            user=null;        }        Jdbc_Utils.closeAll(con,rest,prt);        System.out.println(user.getMessage());        return user;    }    @Test    public void test1() throws SQLException, ClassNotFoundException {        UserDao userDao=new UserDaoImpl();        User uer=userDao.login("111","111");        System.out.println(uer.getName());    }}

Jdbc_utils.java

package com.wzl.utils;import org.springframework.test.context.TestExecutionListeners;import java.sql.*;/** * Created by Administrator on 2017/3/19. */public class Jdbc_Utils {    private static String username="root";    private static String password="bobo";    private static Connection con;    private static ResultSet rest;    private static String driver="com.mysql.jdbc.Driver";    private static String url="jdbc:mysql://localhost:3306/springMvcMybatis?useUnicode=true&characterEncoding=utf8";    public static Connection getConnections() throws ClassNotFoundException, SQLException {        Class.forName(driver);        con= DriverManager.getConnection(url, username, password);        return con;    }    public static void closeAll(Connection con, ResultSet rest,PreparedStatement pst){        try {            if(con==null||con.isClosed()){                con.close();            }            if(rest==null||rest.equals("")){                rest.close();            }           /* if(st==null||st.equals("")){                st.close();            }*/            if(pst==null||pst.equals("")){                pst.close();            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}
login,jsp

<%--  Created by IntelliJ IDEA.  User: Administrator  Date: 2017/3/19  Time: 21:30  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>Title</title></head><body>    <h1>登录</h1>    <form method="post" action="user/login">        <table>            <tr>                <td>用户名:</td>                <td><input type="test" name="username"/></td>            </tr>            <tr>                <td>密码:</td>                <td><input type="test" name="password"/></td>            </tr>            <tr>                <td><input type="submit" value="提交"/></td>                <td></td>            </tr>            <p>${login-error}</p>        </table>    </form></body></html>


login.success.jsp

<%--  Created by IntelliJ IDEA.  User: Administrator  Date: 2017/3/19  Time: 21:33  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>Title</title></head><body>    <h1>登录成功</h1>    <h1>${user.username}</h1> <h1>${user.password}</h1>    <h1>${user.name}</h1> <h1>${user.message}</h1></body></html>


    


这样子就配好了


0 0
原创粉丝点击