array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 使用Maven创建一个Spring MVC Web 项目 - 爱码网

使用Maven创建java web 项目(Spring MVC)用到如下工具:

1、Maven 3.2

2、IntelliJ IDEA 13

3、JDK 1.7

4、Spring 4.1.1 released

5、Tomcat7

6、Logback 1.0.13 日志输出组件

 

接下来开始演示如何用Maven模板创建web项目

1、使用maven-archetype-webapp模板快速创建web项目的骨架结构

打开控制台,进入到你想要创建web项目的目录,然后运行如下命令:

1 $ mvn archetype:generate -DgroupId=com.yanyd 
2     -DartifactId=CounterWebApp 
3     -DarchetypeArtifactId=maven-archetype-webapp 
4     -DinteractiveMode=false

一个名为CounterWebApp的项目就被创建起来了,标准的web目录结构就会被自动创建,结构如下:

使用Maven创建一个Spring MVC Web 项目
1 |____CounterWebApp
2 | |____pom.xml
3 | |____src
4 | | |____main
5 | | | |____resources
6 | | | |____webapp
7 | | | | |____index.jsp
8 | | | | |____WEB-INF
9 | | | | | |____web.xml
使用Maven创建一个Spring MVC Web 项目

源码包java/com/yanyd并不会自动创建,需要我们自己手动创建,然后将在IDEA中将该目录变成src目录。

2、使用命令mvn idea:idea 把该项目变成IDEA支持的项目,然后导入中IDEA中进行编程。

接下来要在pom.xml文件中配置项目依赖的文件和编译、部署插件,内容如下:

使用Maven创建一个Spring MVC Web 项目
  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3   <modelVersion>4.0.0</modelVersion>
  4   <groupId>com.yanyd</groupId>
  5   <artifactId>CounterWebApp</artifactId>
  6   <packaging>war</packaging>
  7   <version>1.0-SNAPSHOT</version>
  8   <name>CounterWebApp Maven Webapp</name>
  9   <url>http://maven.apache.org</url>
 10   <properties>
 11       <jdk.version>1.7</jdk.version>
 12       <spring.version>4.1.1.RELEASE</spring.version>
 13       <jstl.version>1.2</jstl.version>
 14       <junit.version>4.11</junit.version>
 15       <logback.version>1.0.13</logback.version>
 16       <jcl-over-slf4j.version>1.7.5</jcl-over-slf4j.version>
 17   </properties>
 18   <dependencies>
 19     <dependency>
 20       <groupId>junit</groupId>
 21       <artifactId>junit</artifactId>
 22       <version>${junit.version}</version>
 23       <scope>test</scope>
 24     </dependency>
 25 
 26     <!--spring core-->
 27       <dependency>
 28           <groupId>org.springframework</groupId>
 29           <artifactId>spring-core</artifactId>
 30           <version>${spring.version}</version>
 31           <exclusions>
 32               <exclusion>
 33                   <groupId>commons-logging</groupId>
 34                   <artifactId>commons-logging</artifactId>
 35               </exclusion>
 36           </exclusions>
 37       </dependency>
 38 
 39       <dependency>
 40           <groupId>org.slf4j</groupId>
 41           <artifactId>jcl-over-slf4j</artifactId>
 42           <version>${jcl-over-slf4j.version}</version>
 43       </dependency>
 44 
 45       <dependency>
 46           <groupId>ch.qos.logback</groupId>
 47           <artifactId>logback-classic</artifactId>
 48           <version>${logback.version}</version>
 49       </dependency>
 50 
 51       <dependency>
 52           <groupId>org.springframework</groupId>
 53           <artifactId>spring-web</artifactId>
 54           <version>${spring.version}</version>
 55       </dependency>
 56 
 57       <dependency>
 58           <groupId>org.springframework</groupId>
 59           <artifactId>spring-webmvc</artifactId>
 60           <version>${spring.version}</version>
 61       </dependency>
 62 
 63       <!-- jstl -->
 64       <dependency>
 65           <groupId>jstl</groupId>
 66           <artifactId>jstl</artifactId>
 67           <version>${jstl.version}</version>
 68       </dependency>
 69 
 70   </dependencies>
 71   <build>
 72     <!--最终生成的war文件名-->
 73     <finalName>CounterWebApp</finalName>
 74     <plugins>
 75 
 76         <!-- Set JDK Compiler Level -->
 77         <plugin>
 78             <groupId>org.apache.maven.plugins</groupId>
 79             <artifactId>maven-compiler-plugin</artifactId>
 80             <version>3.2</version>
 81             <configuration>
 82                 <source>${jdk.version}</source>
 83                 <target>${jdk.version}</target>
 84             </configuration>
 85         </plugin>
 86 
 87         <!-- For Maven Tomcat Plugin -->
 88         <plugin>
 89             <groupId>org.apache.tomcat.maven</groupId>
 90             <artifactId>tomcat7-maven-plugin</artifactId>
 91             <version>2.2</version>
 92             <configuration>
 93                 <!--Deploy to server-->
 94                 <url>http://localhost:8080/manager/text</url>
 95                 <server>Tomcat7Server</server>
 96                 <path>/CounterWebApp</path>
 97             </configuration>
 98         </plugin>
 99     </plugins>
100   </build>
101 </project>
使用Maven创建一个Spring MVC Web 项目

3、编写源文件,测试Spring MVC框架是否正常,最终的文件结构如下:

使用Maven创建一个Spring MVC Web 项目
 1 |____pom.xml
 2 |____src
 3 | |____main
 4 | | |____java
 5 | | | |____com
 6 | | | | |____yanyd
 7 | | | | | |____controller
 8 | | | | | | |____BaseController.java
 9 | | |____resources
10 | | | |____logback.xml
11 | | |____webapp
12 | | | |____WEB-INF
13 | | | | |____mvc-dispatcher-servlet.xml
14 | | | | |____pages
15 | | | | | |____index.jsp
16 | | | | |____web.xml
使用Maven创建一个Spring MVC Web 项目

开始写Spring MVC控制类,BaseController.java:

使用Maven创建一个Spring MVC Web 项目
 1 package com.yanyd.controller;
 2 
 3 import org.slf4j.Logger;
 4 import org.slf4j.LoggerFactory;
 5 import org.springframework.stereotype.Controller;
 6 import org.springframework.ui.ModelMap;
 7 import org.springframework.web.bind.annotation.PathVariable;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.RequestMethod;
10 
11 /**
12  * Created by Administrator on 15-1-31.
13  */
14 /*There must be a Controller annotation or the application will doesn't work .*/
15 @Controller
16 public class BaseController {
17     private static int counter=0;
18     private static final String VIEW_INDEX="index";
19     private static final Logger logger= LoggerFactory.getLogger(BaseController.class);
20 
21     @RequestMapping(value = "/" ,method = RequestMethod.GET)
22     public String welcome(ModelMap model){
23         model.addAttribute("message","Welcome");
24         model.addAttribute("counter",++counter);
25         logger.debug("[Welcome counter :{}",counter);
26         return VIEW_INDEX;//返回index.jsp
27     }
28 
29     @RequestMapping(value = "/{name}" ,method = RequestMethod.GET)
30     public String welcome(@PathVariable String name , ModelMap model){
31         model.addAttribute("message","Welcome "+name);
32         model.addAttribute("counter",++counter);
33         logger.debug("[Welcome counter :{}",counter);
34         return VIEW_INDEX;//返回index.jsp
35     }
36 }
使用Maven创建一个Spring MVC Web 项目

有一点要注意的就是Controller注解一定写,否则部署后访问时会出现404,一直找不到问题在哪!

接着写Spring的配置文件,mvc-dispatcher-servlet.xml:

使用Maven创建一个Spring MVC Web 项目
 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2        xmlns:context="http://www.springframework.org/schema/context"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xsi:schemaLocation="
 5         http://www.springframework.org/schema/beans
 6         http://www.springframework.org/schema/beans/spring-beans.xsd
 7         http://www.springframework.org/schema/context
 8         http://www.springframework.org/schema/context/spring-context.xsd">
 9 
10     <context:component-scan base-package="com.yanyd.controller"/>
11     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
12         <property name="prefix">
13             <value>/WEB-INF/pages/</value>
14         </property>
15         <property name="suffix">
16             <value>.jsp</value>
17         </property>
18     </bean>
19 </beans>
使用Maven创建一个Spring MVC Web 项目

最后要在web.xml文件中把Spring框架集成进来并配置监听器:

使用Maven创建一个Spring MVC Web 项目
 1 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
 2          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 4           http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 5          version="2.5">
 6 
 7     <display-name>Counter  Web  Application </display-name>
 8 
 9     <servlet>
10         <servlet-name>mvc-dispatcher</servlet-name>
11         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
12         <load-on-startup>1</load-on-startup>
13     </servlet>
14     <servlet-mapping>
15         <servlet-name>mvc-dispatcher</servlet-name>
16         <url-pattern>/</url-pattern>
17     </servlet-mapping>
18 
19     <context-param>
20         <param-name>contextConfigLocation</param-name>
21         <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
22     </context-param>
23     
24     <listener>
25         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
26     </listener>
27 </web-app>
使用Maven创建一个Spring MVC Web 项目

为了避免我们的jsp文件被直接访问,需要在WEB-INF目录下创建一个pages目录,并把jsp文件放入里面,index.jsp内容如下:

使用Maven创建一个Spring MVC Web 项目
1 <html>
2 <body>
3 <h1>Maven + Spring MVC Web Project Example</h1>
4 <h2>Hello World!</h2>
5 <h3>Message:${message}</h3>
6 <h3>Counter:${counter}</h3>
7 </body>
8 </html>
使用Maven创建一个Spring MVC Web 项目

为了让日志输出组件起作用,还需在resources目录下创建一个日志输出的配置文件logback.xml:

使用Maven创建一个Spring MVC Web 项目
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration>
 3 
 4     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
 5         <layout class="ch.qos.logback.classic.PatternLayout">
 6 
 7             <Pattern>
 8                 %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
 9             </Pattern>
10 
11         </layout>
12     </appender>
13 
14     <logger name="com.yanyd.controller" level="debug"
15             additivity="false">
16         <appender-ref ref="STDOUT" />
17     </logger>
18 
19     <root level="error">
20         <appender-ref ref="STDOUT" />
21     </root>
22 
23  </configuration>
使用Maven创建一个Spring MVC Web 项目

4、部署web项目

方法1:mvn package,把生成的war文件部署到tomcat里。

方法2:mvn idea:idea,把项目转成支持IDEA的项目后直接在IDEA中部署。

方法3:mvn tomcat:run,如果已经在pom文件里配置了tomcat部署插件,直接运行该命令,会把项目部署到8080端口。

5、访问项目

http://localhost:8080/CounterWebApp/

http://localhost:8080/CounterWebApp/yanyd

 

如果内容正常输出,那么就是部署成功,项目结构也没问题!

相关文章:

  • 2018-04-10
  • 2018-03-07
  • 2021-11-01
  • 2019-03-28
  • 2020-04-15
  • 2021-11-16
  • 2021-11-29
  • 2018-06-07
猜你喜欢
  • 2019-02-06
  • 2021-11-30
  • 2018-07-22
  • 2018-10-30
  • 2017-11-30
  • 2021-11-01
  • 2019-07-08
  • 2021-11-28
相关资源
相似解决方案