參考并部分復用:http://blog.csdn.net/ronmy/article/details/55532254
一、下載 IntellJ Idea
下載地址:http://www.jetbrains.com/idea/download/download-thanks.html?platform=mac
licenseserver address:
http://idea.iteblog.com/key.php ? (全都小寫)
二、創建Maven Web項目( 主體是復制他人的,windows的與mac的操作過程 是一樣的)
菜單File->New Project可進入如圖界面,首先選擇左邊欄Maven,再配置JDK(如果之前添加了JDK的話會自動填充,如未添加點擊旁邊的New將JDK目錄導入即可)。勾選"Create from archetype",然后選中maven-archetype-webapp,點Next,進入如下界面:
這里需要填寫GroupId和ArtifactId,Version默認即可,這三個屬性可以唯一標識你的項目。
我自己的maven配置
填寫項目名,選擇項目保存路徑,點擊Finish:
maven會在后臺生成web項目,這需要等待一定的時間,視網絡環境而定.
下圖展示了該項目的文件結構。可以發現,它在src/main下創建了一個recources文件夾,該文件夾一般用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經組成了一個原始的web應用。選擇右邊紅框的Enable-Auto- Import,可以在每次修改pom.xml后,自動的下載并導入jar包。
我們可以看到,目錄結構并不是嚴格的maven格式,因為少了java源碼文件夾
首先在main文件夾下創建一個文件夾,名稱為java
將java文件夾標識為Source Root
可以看到文件夾的顏色變了,設置完成~
maven會在后臺生成web項目,這需要等待一定的時間,視網絡環境而定.
下圖展示了該項目的文件結構。可以發現,它在src/main下創建了一個recources文件夾,該文件夾一般用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經組成了一個原始的web應用。選擇右邊紅框的Enable-Auto- Import,可以在每次修改pom.xml后,自動的下載并導入jar包,這一點在后面詳述。
我們可以看到,目錄結構并不是嚴格的maven格式,還需進一步配置。
File->Project Structure->Model.
選中對應的文件夾,點擊上面的Make as...,相應的文件夾機會變成Sources,Tests,Resources,Test Resources,按OK,結束配置。
三、Maven自動導入jar包
既然我們要用Spring MVC開發,那肯定少不了Spring MVC的相關jar包。如果不使用Maven的話,那就需要去官網下載相關的jar包,然后導入到項目中。現在使用maven的話,就不需要上網找jar包了。
Maven所做的工作其實很簡單,就是自動把你需要的jar包下載到本地,然后關聯到項目中來。maven的所有jar包都是保存在幾個中央倉庫里面的,其中一個最常用的是Maven Repository,即,你需要什么jar包,它就會從倉庫中拿給你。那么如何告訴maven需要什么jar包呢?我們看看工程目錄,能找到一個pom.xml文件 ,maven就是靠它來定義需求的,代碼如下:
在國內訪問默認的中央倉庫較慢,用阿里的很快,設置一下http proxy地址:
IntelliJ IDEA =>preferences =>Appearance & Behavior =>System Settings => HTTP Proxy
=> 選中 Auto-detect proxy settings
=> 打勾 Automatic proxy configuration URL 輸入http://maven.aliyun.com/nexus/content/groups/public/
一般可以在http://www.mvnrepository.com/ 查看一下包是否有及版本,如果有就把dependency信息復制到pom.xml,提示更新jar包。
四、SpringMVC框架配置
進行完上面的配置,那就說明現在基本的開發環境已經搭建好了,現在要開始進行Spring MVC的網站開發。
1、web.xml配置
打開src\main\webapp\WEB-INF\下的web.xml文件,修改約束文件,如下:
[html]view plaincopy
"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
Archetype?Created?Web?Application
dispatcher
org.springframework.web.servlet.DispatcherServlet
1
dispatcher
/
default
*.jpg
default
*.js
default
*.css
2、dispatcher-servlet.xml配置
在配置完web.xml后,需在WEB-INF目錄下新建 dispatcher-servlet.xml([servlet-name]-servlet.xml是固定規則,前面是在servlet里面定義的servlet名):
[html]view plaincopy
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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"
>
五、java代碼
MVC框架有model、view、controller三部分組成。model一般為一些基本的Java Bean,view用于進行相應的頁面顯示,controller用于處理網站的請求。
在src\java中新建一個用于保存controller的package:在controller包中新建java類testpage(名稱并不固定,可任意取),并修改如下:
代碼:
[html]view plaincopy
package?com.lzhy.demomvc;
import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.stereotype.Controller;
import?org.springframework.ui.Model;
import?org.springframework.web.bind.annotation.RequestMapping;
import?org.springframework.web.bind.annotation.RequestMethod;
import?org.springframework.web.bind.annotation.RequestParam;
import?org.springframework.web.bind.annotation.ResponseBody;
import?org.springframework.web.bind.annotation.PathVariable;
import?org.springframework.web.servlet.ModelAndView;
@Controller
/**
*?Created?by?yuwen?on?17/2/15.
*/
public?class?testpage?{
@RequestMapping("/helloworld")
public?String?hello(){
System.out.println("hello?world");
return?"success";
}
@ResponseBody
@RequestMapping(value="/body/{x}",method=RequestMethod.GET)
public?bodytest?getBody(@PathVariable("x")?String?x){
System.out.println("URI?Part?1?:?"?+?x);
bodytestbt=newbodytest();
bt.a=x;
bt.b="123";
return?bt;
}
public?class??bodytest
{
public??String?a;
public?String?b;
}
/*
*
@RequestMapping(value="/user/{userId}/roles/{roleId}",method=RequestMethod.GET)
public?String?getLogin(@PathVariable("userId")?String?userId,
@PathVariable("roleId")?String?roleId)?{
System.out.println("User?Id?:?"?+?userId);
System.out.println("Role?Id?:?"?+?roleId);
return?"success";
}
@RequestMapping(value="/product/{productId}",method=RequestMethod.GET)
public?String?getProduct(@PathVariable("productId")?String?productId){
System.out.println("Product?Id?:?"?+?productId);
return?"success";
}
*?*/
}
--@Controller注解:采用注解的方式,可以明確地定義該類為處理請求的Controller類;
--@RequestMapping()注解:用于定義一個請求映射,value為請求的url,值為 /helloworld 說明,該請求首頁請求,method用以指定該請求類型,一般為get和post;
--return "success":處理完該請求后返回的頁面,此請求返回 success.jsp頁面。
success.jsp:
[html]view plaincopy
Hello?World!???success
六、需要配置Tomcat來運行該項目。
Run->EditConfigurations
點擊左上角的"+"號,選擇Tomcat Server,再選擇Local:
點擊 Application server 右邊的 Configure,導入Tomcat 目錄:
在配置好Tomcat的路徑后,如下圖所示,發現依然存在警告,且左方的Tomcat8圖標上有一個警告標記,說明還沒有配置完全:
我們還需要將項目部署到 Tomcat 服務器中。點擊 Deployment,再點擊右邊的"+"號,添加一個Artifact.
選擇第二個:war exploded,點擊OK,這樣,該項目就已經部署到了tomcat中.
再點擊OK,整個Tomcat配置結束.
啟動 Tomcat 了,其控制臺輸出將在IDEA下方顯示
啟動后,瀏覽器將自動彈出項目首頁.
輸入http://localhost:8080/helloworld
輸出:
Hello World! success
輸入http://localhost:8080/body/123
輸出
{"a":"123","b":"123"}
七、總結
1、下載工具,安裝注冊;
2、創建Maven工程,對Pom.xml結構要理解,一定要設置http代理,不然下載太慢了;
3、MVC代碼的注釋需要學習一下,返回json格式時要單獨配置,即:在pom.xml:?com.fasterxml.jackson.core的三個jar,及dispatcher-servlet.xml加轉換配置。