建立maven工程css
建立完成後,目錄結構以下:html
優化目錄結構:java
加載spring配置mysql
1)在pom中加入須要的依賴,包含了spring,velocity,mybatisweb
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>test.tt</groupId> <artifactId>springExecise</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spirng.version>3.2.13.RELEASE</spirng.version> <mybatis.version>3.2.4</mybatis.version> </properties> <dependencies> <!-- 增長spring 框架依賴 結束 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spirng.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spirng.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spirng.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spirng.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spirng.version}</version> </dependency> <!-- 增長spring-context-support依賴視爲了與支持velocity --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.2.13.RELEASE</version> </dependency> <!-- 增長spring 框架依賴 結束 --> <!-- 增長velocity 依賴開始 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>commons-digester</groupId> <artifactId>commons-digester</artifactId> <version>1.7</version> </dependency> <!-- 增長velocity 依賴結束 --> <!-- 增長mybatis 框架依賴 開始 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- 增長mybatis 框架依賴 結束 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> </dependencies> <build> <finalName>springExecise</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>**/*Tests.java</include> </includes> </configuration> </plugin> </plugins> </build> </project>
2)編寫引導文件 web.xmlspring
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://JAVA.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd" version="2.5"> <display-name>springExecise</display-name> <welcome-file-list> <welcome-file>index.vm</welcome-file> </welcome-file-list> <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/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
3) 編寫spring配置文件:springmvc-servlet.xmlsql
建立以下文件,並填寫內容數據庫
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context" 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 http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd "> <!-- 向spring中注入BeanPostProcessor,使spring能識別被@Autowired、@ Resource 、@ PostConstruct、@ PreDestroy、PersistenceContext、@Required註解 --> <context:annotation-config /> <!-- 配置註解的掃描路徑,該配置項其實也包含了自動注入上述processor的功能,因此上面的不寫也ok --> <context:component-scan base-package="test.tt.springE"></context:component-scan> <!-- 資源文件讀取 <bean id="configproperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="location" value="classpath:config/db.properties" /> </bean>--> <!-- 註冊一些bean,這些bean能夠基於註解來註冊bean、完成requestmapping等 --> <!-- 和<context:annotation-config />的區別是什麼?? 標籤namspace不一樣--> <mvc:annotation-driven/> <!-- 將靜態資源的處理經由Spring MVC框架交回Web應用服務器處理 --> <mvc:default-servlet-handler /> <!-- 容許靜態資源放在任何地方,如WEB-INF目錄下、類路徑下等 --> <!-- 將/css/的目錄,映射爲/css/*,映射到/css/**的請求,不會到controller處理,而是直接訪問靜態資源 --> <mvc:resources location="/css/" mapping="/css/**"/> <!-- 引入mybatis-數據庫配置文件 <import resource="classpath*:spring/mybatis-config.xml" /> --> <!-- 引入velocity模板 --> <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"> <property name="resourceLoaderPath" value="/WEB-INF/velocity/" /><!--指定模板存放的路徑 --> <property name="velocityProperties"> <props> <prop key="input.encoding">UTF-8</prop> <prop key="output.encoding">UTF-8</prop> <prop key="contentType">text/html;charset=UTF-8</prop> </props> </property> </bean> <!--配置視圖的顯示 --> <bean id="ViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"> <property name="prefix" value="" /><!-- 視圖文件的前綴,即存放的路徑 --> <property name="suffix" value=".vm" /><!-- 視圖文件的後綴名 --> <property name="contentType" value="text/html;charset=UTF-8" /> <property name="exposeSpringMacroHelpers" value="true" /><!--是否使用spring對宏定義的支持 --> <property name="exposeRequestAttributes" value="true" /><!--是否開放request屬性 --> <property name="requestContextAttribute" value="rc" /><!--request屬性引用名稱 --> </bean> </beans>
寫controllerapache
package test.tt.springE.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class IndexController { @RequestMapping(value="/") public String hello(@RequestParam(value="name",required=false,defaultValue="you")String name,Model model){ model.addAttribute("name", name); return "index"; } }
帶參數:spring-mvc
不帶參數