继使用IDEA创建web项目之后搭建MVC

来源:互联网 发布:深度linux安装失败 编辑:程序博客网 时间:2024/05/30 05:18

上次我们利用maven搭建好了一个web项目,接下来,我们来搭建一下MVC环境配置

搭建之前还劳烦大家把有关后台、JSP、mysql、spring等依赖包全部像上篇文章教程一样贴入pom.xml文件中去,我这边也给大家提供一下我自己现在所在用的依赖包,如果大家需要,直接复制就可以

首先我们打开IDEA,重新来配置一下pom.xml这个文件,下面我贴完整的代码,你们复制到 dependencies 中去就可以了

<dependency>  <groupId>javax.servlet.jsp</groupId>  <artifactId>jsp-api</artifactId>  <version>2.2</version>  <scope>provided</scope></dependency><!-- JSTL --><dependency>  <groupId>javax.servlet</groupId>  <artifactId>jstl</artifactId>  <version>1.2</version>  <scope>runtime</scope></dependency><!-- JUnit --><dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>4.12</version>  <scope>test</scope></dependency><!--JSTL4J--><dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-log4j12</artifactId>  <version>1.7.7</version></dependency><!-- MySQL --><dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artifactId>  <version>5.1.33</version>  <scope>runtime</scope></dependency><!-- Apache Commons Lang--><dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-lang3</artifactId>  <version>3.3.2</version></dependency><!-- Apache Commons Collections--><dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-collections4</artifactId>  <version>4.0</version></dependency><!-- Apache Commons Dbutils--><dependency>  <groupId>commons-dbutils</groupId>  <artifactId>commons-dbutils</artifactId>  <version>1.6</version></dependency><!-- Apache Commons DBCP2 --><dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-dbcp2</artifactId>  <version>2.0.1</version></dependency><dependency>  <groupId>javax.servlet</groupId>  <artifactId>servlet-api</artifactId>  <version>2.5</version>  <scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency>  <groupId>javax.servlet</groupId>  <artifactId>javax.servlet-api</artifactId>  <version>3.1.0</version>  <scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-context</artifactId>  <version>4.3.3.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-core --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-core</artifactId>  <version>4.3.9.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-beans --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-beans</artifactId>  <version>4.3.9.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-web --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-web</artifactId>  <version>4.3.10.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-context-support</artifactId>  <version>4.3.9.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency>  <groupId>commons-fileupload</groupId>  <artifactId>commons-fileupload</artifactId>  <version>1.3.2</version></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency>  <groupId>commons-io</groupId>  <artifactId>commons-io</artifactId>  <version>2.4</version></dependency><!-- https://mvnrepository.com/artifact/javax.activation/activation --><dependency>  <groupId>javax.activation</groupId>  <artifactId>activation</artifactId>  <version>1.1.1</version></dependency><!-- https://mvnrepository.com/artifact/javax.mail/mail --><dependency>  <groupId>javax.mail</groupId>  <artifactId>mail</artifactId>  <version>1.4.7</version></dependency><!-- https://mvnrepository.com/artifact/taglibs/standard --><dependency>  <groupId>taglibs</groupId>  <artifactId>standard</artifactId>  <version>1.1.2</version></dependency><dependency>  <groupId>javax.servlet</groupId>  <artifactId>jstl</artifactId>  <version>1.2</version>  <type>jar</type></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency>  <groupId>commons-io</groupId>  <artifactId>commons-io</artifactId>  <version>2.5</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-webmvc</artifactId>  <version>4.3.10.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-aop</artifactId>  <version>4.3.11.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity --><dependency>  <groupId>org.apache.velocity</groupId>  <artifactId>velocity</artifactId>  <version>1.7</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-tools --><dependency>  <groupId>org.apache.velocity</groupId>  <artifactId>velocity-tools</artifactId>  <version>2.0</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-test --><dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-test</artifactId>  <version>4.3.7.RELEASE</version>  <scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa --><dependency>  <groupId>org.springframework.data</groupId>  <artifactId>spring-data-jpa</artifactId>  <version>1.10.5.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.0-api --><dependency>  <groupId>org.hibernate.javax.persistence</groupId>  <artifactId>hibernate-jpa-2.0-api</artifactId>  <version>1.0.1.Final</version></dependency><!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager --><dependency>  <groupId>org.hibernate</groupId>  <artifactId>hibernate-entitymanager</artifactId>  <version>5.2.10.Final</version></dependency><!-- https://mvnrepository.com/artifact/org.json/json --><dependency>  <groupId>org.json</groupId>  <artifactId>json</artifactId>  <version>20090211</version></dependency><!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient --><dependency>  <groupId>commons-httpclient</groupId>  <artifactId>commons-httpclient</artifactId>  <version>3.1</version></dependency>

等它自动下载完成后,我们来配一下两个文件

这里写图片描述

一个是蓝色的java和绿色的java,这两个都是用来存放java类的,怎么让它们变色呢?刚开始你们是没有的,我们要来新建
右键点击main–New–Directory,取名为java

这里写图片描述

这里写图片描述

按照我标记的顺序依次点击,点OK就好了,绿色的是测试类,我们可以新建一个test包名,test下面再新建一个java,按照这个顺序,第五步点那个绿色的Tests点OK就好了。

我们现在来说如何配置MVC

首先我们手动新建几个目录:

这里写图片描述

这里我们是配置配置了静态文件路径,这几个文件件用以放静态文件例如脚本,图片文件,视图之类的

在WEB-INF文件夹下新建 spring-servlet.xml
鼠标点击WEB-INF右键,New–XML Configuration–Spring Config

这里写图片描述

配置spring-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"        xsi:schemaLocation="http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans-3.1.xsd         http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context-3.1.xsd         http://www.springframework.org/schema/mvc        http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">    <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射-->    <mvc:annotation-driven ></mvc:annotation-driven>    <!-- 启动包扫描功能,以便注册带有@Controller、@service、@repository、@Component等注解的类成为spring的bean -->    <context:component-scan base-package="自己新建的存放Java类的包名" />    <!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>        <property name="prefix" value="/"/>    <!-- 前缀 -->        <property name="suffix" value=".jsp"/>    <!-- 后缀 -->    </bean>    <!-- 访问静态文件(jpg,js,css)的方法 -->    <mvc:resources location="/files/" mapping="/files/**" />    <mvc:resources location="/scripts/" mapping="/scripts/**" />    <mvc:resources location="/styles/" mapping="/styles/**" />    <mvc:resources location="/Views/" mapping="/Views/**" /></beans>

context:component-scan base-package=”自己新建的存放Java类的包名” 大家注意这个地址,这个地址需要自己手动改一下,这里是存放控制器的包名位置

然后在resources资源文件夹下新建applicationContext.xml

这里写图片描述

配置applicationContext.xml这里并没有进行配置什么信息,我们可以在其中添加我们所需要配置的bean,也可以添加相应的数据库连接和事务处理等等,方便后续拓展,所以先放着不写它,接着最后一步

配置web.xml:

<!-- Spring MVC配置 --><servlet>    <servlet-name>spring</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml     <init-param>         <param-name>contextConfigLocation</param-name>         <param-value>/WEB-INF/spring-servlet.xml</param-value>    </init-param>-->    <!-- load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法) -->    <load-on-startup>1</load-on-startup></servlet><servlet-mapping>    <servlet-name>spring</servlet-name>    <url-pattern>/</url-pattern>         <!--<url-pattern>*.do</url-pattern>--></servlet-mapping>     <!-- Spring配置 -->     <listener>         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>     </listener>     <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->     <context-param>        <param-name>contextConfigLocation</param-name>         <param-value>classpath:applicationContext.xml</param-value>     </context-param>

把这些代码复制到web-app 中去就可以了,具体什么作用我已经打了注释

这里我们就将SpringMVC的基本XML配置文件设置完毕,接下来我们进行一个小实例进行测试配置好的SpringMVC。

在蓝色java里右键新建一个包名,名字随意取
这里写图片描述

这个是我新建的包名,在这个包名下新建一个java类,名字随意
这里写图片描述

这些代码的作用我都已经打上了注释

接着我们在之前新建好的Views包名下新建一个jsp页面

这里写图片描述

这里写图片描述

接着我们就可以运行我们的tomcat来做个测试了,上次教过大家怎么开启maven插件的tomcat7,这里就不多说了,没明白的请翻我上一篇文章,上次有开启过的在IDEA右上角会有一个标记

这里写图片描述

这个时候只需要点这个小爬虫debug就可以了

当成功开启之后,我们打开浏览器输入:
localhost:85/Test/returnString
这里说明一下,85是我自己定义的端口号,你们要输入你们自己的8080端口即可。

这里写图片描述

当看到这个的时候表示我们成功了,接着我们输入:
localhost:85/Test/returnSuccess

这里写图片描述

大家一定有疑问,为什么这个访问路径是这个样子的,具体的我就不在这里给大家详细讲解了,可以百度一下“Spring MVC”的原理,自然就会明白了,本人对MVC也是初体验,所以不便给大家讲解,希望大家共同进步。