发表于: 2017-07-02 20:10:56

1 1418


今天完成的事情:学习idea创建maven项目springmvc,解决了tomcat的问题。并且把这两三天你的大坑搞出来原因了,在师兄讲解下也学了使用maven项目下用pom.xml去引用依赖包。

 

今天师兄安排我按照例子一个不差的步骤执行这个springmvc实现他的功能,我在例子上很多都看不懂。而且下载来的源码很多都打开不了,不知道怎么回事,而且我还下载了其他的例子打开发现,idea打开或者创建maven项目非常的慢,经常会卡在哪里,以为没有问题,实在受不了,查之发现。一开始因为这个很慢的问题,导致我在学习的过程中很大的问题存在。这个坑对于我来说非常的大。由于默认情况下,根据archetype创建maven项目会从网络下载catalog文件,导致创建maven项目缓慢

解决办法可以设置使用本地catalog文件,在IDEA中设置archetype的使用方式为local;也可以吧archetype方式设置为Internal。目前这两种方法都可以的。

首先是在是用local的方式,在setting中设置好

 

 

在本地m2仓库下安置好下的catalog文件

就这样就可以了

 

 还有第二种办法:

这个是在不需要配置catalog文件也可以解决

 

 

这两个设置好

接下来就是创建一个maven管理的springmvc。在idea中,而且在这之前需要用到在setting中设置好maven的获取catalog文件的方式。不然后面如何设置都是徒劳,tomcat也无法正确执行,但是自己还是不太懂这个运行的原理。

一直next。设置好项目的名称啊输出路径等等,idea会自动帮我生成相应的配置文件,我在博客中看到别人会有这个选项,我不知道自己为什么会没有,很奇怪,我创建好后直接跳到编译界面开始工作的。

 

 

当我创建好了环境之后,我就需要修改我pom.xml,引入相关的依赖

<projectxmlns="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.yiibai</groupId>

    <artifactId>HelloSpringMVC</artifactId>

    <packaging>war</packaging>

    <version>0.0.1-SNAPSHOT</version>

    <name>HelloSpringMVC Maven Webapp</name>

    <url>http://maven.apache.org</url>

 

 

    <dependencies>

 

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>3.8.1</version>

            <scope>test</scope>

        </dependency>

 

        <!-- Servlet Library -->

        <!-- http://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>

 

        <!-- Spring dependencies -->

        <!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-core</artifactId>

            <version>4.1.4.RELEASE</version>

        </dependency>

 

        <!-- http://mvnrepository.com/artifact/org.springframework/spring-web -->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-web</artifactId>

            <version>4.1.4.RELEASE</version>

        </dependency>

 

        <!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc -->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-webmvc</artifactId>

            <version>4.1.4.RELEASE</version>

        </dependency>

 

    </dependencies>

    

    <build>

        <finalName>HelloSpringMVC</finalName>

        <plugins>

        

            <!-- Config: Maven Tomcat Plugin -->

            <!-- http://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat7-maven-plugin -->

            <plugin>

                <groupId>org.apache.tomcat.maven</groupId>

                <artifactId>tomcat7-maven-plugin</artifactId>

                <version>2.2</version>

                <!-- Config: contextPath and Port (Default - /HelloSpringMVC : 8080) -->

                <!--

                <configuration>

                    <path>/</path>

                    <port>8899</port>

                </configuration>

                -->  

            </plugin>

        </plugins>

    </build>  

    

</project>

 

 

 

 

配置 web.xml

<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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

   id="WebApp_ID" version="3.0">

   

   <display-name>HelloWorldSpring</display-name>

   

   <servlet>

       <servlet-name>spring-mvc</servlet-name>

       <servlet-class>

           org.springframework.web.servlet.DispatcherServlet

       </servlet-class>

       <load-on-startup>1</load-on-startup>

   </servlet>  

   

   <servlet-mapping>

       <servlet-name>spring-mvc</servlet-name>

       <url-pattern>/</url-pattern>

   </servlet-mapping>

 

    <!-- Other XML Configuration -->

   <!-- Load by Spring ContextLoaderListener -->

   <context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>/WEB-INF/root-context.xml</param-value>

   </context-param>

 

   

    <!-- Spring ContextLoaderListener -->

   <listener>

       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

   </listener>

   

</web-app>

 

 

·         spring-mvc-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:p="http://www.springframework.org/schema/p"

    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-4.1.xsd

      http://www.springframework.org/schema/context

      http://www.springframework.org/schema/context/spring-context-4.1.xsd

      http://www.springframework.org/schema/mvc

      http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">

 

   <context:component-scan base-package="com.yiibai.tutorial.springmvc"/>

   

   <context:annotation-config/>

   

   <bean

       class="org.springframework.web.servlet.view.InternalResourceViewResolver">

       

       <property name="prefix">

           <value>/WEB-INF/pages/</value>

       </property>

       

       <property name="suffix">

           <value>.jsp</value>

       </property>      

       

   </bean>

   

</beans>

 

 

:
Spring应用程序 ContextLoaderListener 将读取其他 XML 配置文件(如下的 abc.xml root-context.xml 两个文件) 可能不需要配置 ContextLoaderListener,如果你的应用程序并不需要读取其他XML配置文件。

<!-- web.xml -->

<!-- Spring ContextLoaderListener -->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

 

<!-- Load by Spring ContextLoaderListener -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

       /WEB-INF/root-context.xml,

       /WEB-INF/abc.xml

 </param-value>

</context-param>

·         /WEB-INF/root-context.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"

   xsi:schemaLocation="http://www.springframework.org/schema/beans

   http://www.springframework.org/schema/beans/spring-beans.xsd">

 

  <!-- Empty -->

 

</beans>

·         HelloWorldController.java

package com.yiibai.springmvc;

 

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

 

@Controller

public class HelloWorldController {

 

    @RequestMapping("/hello")

    public String hello(Model model) {

        

        model.addAttribute("greeting", "Hello Spring MVC");

        

        return"helloworld";

        

    }

 

}

 

 

 

·         helloworld.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Spring4 MVC -HelloWorld</title>

</head>

<body>

    <h1>${greeting}</h1>

</body>

</html>

 

 

然后,接下来就是用idea配置tomcat去运行程序了,选择run下的edit configurations

 

 

选择哪个“+”号 ,拉到最下面看到tomcat server,选择local会跳转到设置页面

 

 

把端口啊,浏览器,tomcat版本路径的选择,全部设置好后,还有一项很重的fix设置,这个东西我不知道是个什么东西,但是他很重要,他没设置好都启动不了tomcat的。


 

 

deployement中,右边的“+”号,添加Artifact

 

选择这个相应的war包??

在设置一个东西这个斜杠

设置好点apply ok 就可以运行了。在之前setting中设置maven catalog文件,创建项目,pom引入依赖速度提升的不是一个两个档次,最后可以跳出浏览器的结果

 

 

贴一个网上教程,第一次使用这个功能,之前一直觉得这个功能很麻烦,不会用

 


 

 

maven会自动创建需要的一些配置信息以及目录结构,在这段时间里我们可以查找需要的jar包并在maven配置文件pom.xml里面进行配置,见下面步骤:

这里如果不知道要用到什么jar包就去百度SpringMVC需要的jar包,然后在maven的官方链接单独查找jar包来配置pom.xml,实例如下(这里我示范去maven官网查找xml配置的部分,具体需要的jar包去我后面展示的pom.xml里面查找):

登录http://mvnrepository.com/ 示例查找spring-beans

点击查找结果

 

这里可以看到最新版以及使用人数最多的版本,自己选择--配置文件里面的jar包版本最好选择同一个版本避免版本冲突;

 

我们选择第一个进入网页,里面可以看到maven的配置pom.xml文件写法,点击代码直接复制(自动复制);

然后将复制的代码拷贝到pom.xml文件中去即可,maven会自动下载所需要的jar包,我们不需要理会(如果有网络不顺畅情况,请自行想办法下载jar包或联系本人,然后将下载好的jar包拷贝到对应的maven本地仓库文件夹中也可以的);

 

 

明天完成的事情:消化一下springmvc,在深度学习,把服务器搞下来,并且试试部署打包我的程序。终于可以实施后面的东西了。很高兴

 

 

 

遇到的问题:1.就是maven项目创建和加载过程中非常的慢,不过已经解决了。

            2.不能太理解springmvc的构造,只是知道那么一点点,而且idea会帮我们在过程是自动创建好。如果出现什么问题,我自己会不知道哪里下手修改。

 

 

收获:学习在pom文件下引入依赖包。解决了了idea中创建maven项目慢的过程。并且成功运行我的web文件。



返回列表 返回列表
评论

    分享到