@ruoli
2016-08-26T09:10:50.000000Z
字数 4980
阅读 1779
SpringMvc
工程命名为:SpringMvc,设置pom.xml如下:
<?xml version="1.0" encoding="UTF-8"?><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>SpringMvc</groupId><artifactId>SpringMvc</artifactId><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><name>SpringMvcSimple Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.0.2.RELEASE</version></dependency></dependencies></project>
web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name>Archetype Created Web Application</display-name><!-- spring MVC的核心就是DispatcherServlet,使用springMVC的第一步就是将下面的servlet放入web.xmlservlet-name属性非常重要,默认情况下,DispatchServlet会加载这个名字-servlet.xml的文件,如下,就会加载dispather-servlet.xml,也是在WEN-INF目录下。--><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><!-- 设置dispatchservlet的匹配模式,通过把dispatchservlet映射到/,默认servlet会处理所有的请求,包括静态资源 --><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 字符集过滤器 --><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>
在WEB-INF下新增dispatcher-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:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"default-lazy-init="true"><!-- 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源,而不通过控制器 --><!-- 设置不过滤内容,比如:css,jquery,img 等资源文件 --><mvc:resources location="/*.html" mapping="/**.html" /><mvc:resources location="/css/*" mapping="/css/**" /><mvc:resources location="/js/*" mapping="/js/**" /><mvc:resources location="/images/*" mapping="/images/**" /><!-- 添加注解驱动 --><mvc:annotation-driven /><!-- 默认扫描的包路径 --><context:component-scan base-package="controller" /><!-- mvc:view-controller可以在不需要Controller处理request的情况,转向到设置的View --><!-- 像下面这样设置,如果请求为/,则不通过controller,而直接解析为/index.jsp --><mvc:view-controller path="/" view-name="index" /><bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property><!-- 配置jsp路径前缀 --><property name="prefix" value="/"></property><!-- 配置URl后缀 --><property name="suffix" value=".jsp"></property></bean></beans>
文件位置为:WebRoot/index.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>简易登陆</title></head><body><h2>Hello World!</h2><form action="login">用户名:<input id="username" name="username" type="text"></input><br>密 码:<input id="username" name="password" type="password"></input><br><input type="submit"></form><span>当前IP:<%=request.getRemoteAddr() %></span></body></html>
文件目录为:controller/MyController.java,内容如下:
package controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;/*** TODO 控制层代码* @author Ruoli* @date 2016年08月26日*/@Controllerpublic class MyController {@RequestMapping("login")public @ResponseBody String hello(@RequestParam(value = "username", required = false)String username,@RequestParam(value = "password", required = false)String password){return "Hello "+username+",Your password is: "+password;}}
启动访问 http://localhost:8080/SpringMvc/ 即可。
整个工程目录如下:
