目前java開發主流的IDE有eclipse系列和IntelliJ IDEA系列的。IDEA號稱是最好用的收費的Java IDE,用了一段時間感覺比eclipse要方便不少。由於網上大多數的教程都是基於eclipse的,或者是低版本的idea,所以有以下這篇博客,在 IntelliJ IDEA上創建maven Spring MVC項目,可以給一些剛入門的一個參考。
idea和maven的基本使用這裡就不細講了。有需要請移步idea入門教程同時也包含了maven的相關知識.
項目創建完成後,src-main下建立java目錄後,是無法在該目錄下創建新的包和java類等文件的。在idea中需要對目錄進行標注。
標注完後,建立如下的目錄。
完整的配置文件如下。
<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.example</groupId>
<artifactId>maven-springmvc</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>maven-springmvc 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>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<!--j2ee相關包 servlet、jsp、jstl-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency
<!--mysql驅動包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
<!--spring相關包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.1.RELEASE</version>
</dependency>
<!--其他需要的包-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
<build>
<finalName>maven-springmvc</finalName>
<resources>
<!--表示把java目錄下的有關xml文件,properties文件編譯/打包的時候放在resource目錄下-->
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
<plugins>
<!--servlet容器 jetty插件-->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.10.v20160621</version>
</plugin>
</plugins>
</build>
</project>
更新完pom.xml文件後,idea應該會自動下載相應的jar包(可能需要vpn),如果沒有自動下載的話,可以點擊“Reimport All Maven Projects”按鈕進行項目的重新載入。如圖所示。
jar下載完成後,所有項目所需的依賴就已經添加完成了。
maven默認生成的web.xml版本是2.3的,所以有些配置節點idea會識別不出來,因此我們重新添加一個3.0的。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!--welcome pages-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--配置springmvc DispatcherServlet-->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
接收到的http請求通過DispatcherServlet進行分發。
<?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.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--啟用spring的一些annotation -->
<context:annotation-config/>
<!-- 自動掃描該包,使SpringMVC認為包下用了@controller注解的類是控制器 -->
<context:component-scan base-package="com.zjut.ssm.controller">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--HandlerMapping 無需配置,springmvc可以默認啟動-->
<!--靜態資源映射-->
<mvc:resources mapping="/resources/**" location="/resources/"/>
<!-- 配置注解驅動 可以將request參數與綁定到controller參數上 -->
<mvc:annotation-driven/>
<!-- 對模型視圖名稱的解析,即在模型視圖名稱添加前後綴(如果最後一個還是表示文件夾,則最後的斜槓不要漏了) 使用JSP-->
<!-- 默認的視圖解析器 在上邊的解析錯誤時使用 (默認使用html)- -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/view/"/><!--設置JSP文件的目錄位置-->
<property name="suffix" value=".jsp"/>
</bean>
<!-- springmvc文件上傳需要配置的節點-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="20971500"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="resolveLazily" value="true"/>
</bean>
</beans>
日志文件是debug中一個必不可少的工具,因此添加了log4j日志包。配置文件如下。
#配置根Logger 後面是若干個Appender
log4j.rootLogger=DEBUG,A1,R
#log4j.rootLogger=INFO,A1,R
# ConsoleAppender 輸出
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
# File 輸出 一天一個文件,輸出路徑可以定制,一般在根路徑下
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=log.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
在controller下新建一個“HomeController”。編寫如下代碼。
package com.zjut.ssm.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/** * @author Chingyu Mo * @create 2016-07-23-20:20 */
// 注解標注此類為springmvc的controller,url映射為"/home"
@Controller
@RequestMapping("/home")
public class HomeController {
//添加一個日志器
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
//映射一個action
@RequestMapping("/index")
public String index(){
//輸出日志文件
logger.info("the first jsp pages");
//返回一個index.jsp這個視圖
return "index";
}
}
在views文件夾下建立一個jsp文件,名為“index.jsp”
基本的代碼編寫就完成了。
servlet容器有兩種配置方式。
根據上圖配置tomcat服務器,如果用這種方法,本地需要下載tomcat並配置好環境變量。
主要有以下幾個要點
maven插件的話有tomcat和jetty,兩者都是servlet的容器。我這裡配置的是jetty。插件已經在pom.xml中配置完成了。
<plugins>
<!--servlet容器 jetty插件-->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.10.v20160621</version>
</plugin>
</plugins>
再在idea中配置jetty。
點擊Run,運行。
以上就是一個簡單的Spring MVC應用在idea中的創建方式。
使用IntelliJ IDEA 13搭建Android集成開發環境圖文教程
IntelliJ IDEA 12 創建Web項目圖文詳細教程
用IntelliJ IDEA開發Android程序圖文教程
IntelliJ IDEA 12開發haXe NME應用配置指南
IntelliJ IDEA運行Play Framework的test mode
Ubuntu 13.04 安裝IntelliJ IDEA 12
IntelliJ IDEA 12創建Maven管理的Java Web項目(圖解)
IntelliJ IDEA 常用快捷鍵列表及技巧大全
IntelliJ IDEA 的詳細介紹:請點這裡
IntelliJ IDEA 的下載地址:請點這裡
本文永久更新鏈接地址:
http://xxxxxx/Linuxjc/1147425.html TechArticle