<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"> <!-- ContextLoaderListener實現了ServletContextListener這個接口,在啓動web容器時會執行,完成spring的啓動和初始化。 若配置了contextConfigLocation上下文參數則按照該參數指定的路徑和文件名去讀取spring配置文件, 不然默認會去讀/WEB-INF/applicationContext.xml --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 此參數指定spring初始化時讀取的配置文件,若是要讀取多個xml文件,能夠寫在一塊兒並一「,」號分隔。也能夠採用如applicationContext-*.xml通配符的格式。 classpath:是類路徑,此處可替換爲/WEB-INF/classes/ --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param> <!-- DispatcherServlet是SpringMVC的總調度類,咱們定義了一個名爲md5的servlet並將url爲/的請求映射到這個servlet,這樣在請求到達時就會執行此類。 若配置了contextConfigLocation sevlet參數則按照該參數指定的路徑和文件名去讀取springMVC的核心配置文件, 不然默認會去讀/WEB-INF/servlet名稱-servlet.xml load-on-startup定義了此servlet啓動優先級,1表示第一個啓動,servlet通常在web容器啓動時初始化 --> <servlet> <servlet-name>md5</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/servlet/md5-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>md5</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
<?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:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"> <!--激活@Controller模式 --> <mvc:annotation-driven /> <!--對包中的全部類進行掃描,以完成Bean建立和自動依賴注入的功能 --> <context:component-scan base-package="com.lwt.bigtools.controller" /> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <!-- 這個bean用於將Controller類方法的返回值映射爲實際的文件,此處爲加前綴後綴: /jsp/md5/***.jsp --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/jsp/md5/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <!-- 此處使得DispatcherServlet將靜態資源文件交給web容器默認處理,如js,css文件等 --> <mvc:default-servlet-handler /> <!-- <mvc:resources location="/skin" mapping="/resources/**" cache-period="10000" /> --> </beans>
爲一普通POJO類javascript
@Controller public class Md5Query { // url爲/md5的請求會被DispatcherServlet發送到此方法執行,其中參數Md5Form攜帶請求提交的參數信息。最終 @RequestMapping(value = "/md5") public String query(Md5Form md5Form, Model model) { String source = md5Form.getSource(); String res = ""; if (!StringUtil.isEmpty(source)) { res = Md5Util.query(source); // 返回字符串source的MD5字符串表示形式 } model.addAttribute("source", source); model.addAttribute("result", res); return "md5_query"; // 最終視圖會被viewResolver映射到 /jsp/md5/md5_query.jsp這個文件返回給瀏覽器 } // 這是個ajax請求最終到達的方法 @ResponseBody @RequestMapping(value = "/md5ajax") public Map<String, Object> md5Ajax(String source) { Map<String, Object> modelMap = new HashMap<String, Object>(); modelMap.put("res", Md5Util.query(source)); return modelMap; } }
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="${pageContext.request.scheme}://${pageContext.request.serverName}:${pageContext.request.serverPort}${pageContext.request.contextPath}/"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>md5查詢</title> <style type="text/css"> input[type="text"] { /* float: left; */ } </style> <link href="<c:url value='skin/css/common.css'/>" rel="stylesheet" type="text/css" /> <script src="skin/js/jquery-1.11.3.min.js"></script> <script src="skin/js/ajaxsubmit.js"></script> <script type="text/javascript"> $(function() { $("form").submit(function() { $.post("md5ajax", { "source" : $("form input[name='source']").val() }, function(data, status) { $("#res").html(data.res); }); return false; }); }); </script> </head> <body> <form action="" method="post"> <input type="text" name="source"> <input type="submit" value="查詢"> </form> <div> <p id="res"></p> </div> </body> </html>
<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.lwt</groupId> <artifactId>bigtools</artifactId> <packaging>war</packaging> <version>0.0.1</version> <name>bigtools Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 定義相關版本號 --> <properties> <java-version>1.7</java-version> <org.springframework-version>3.1.4.RELEASE</org.springframework-version> <jackson.version>2.6.3</jackson.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- 定義依賴 --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework-version}</version> </dependency> <!-- 提供對ajax請求json數據形式的返回,若沒有則ajax請求會返回406(Not Acceptable)錯誤 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>${java-version}</source> <target>${java-version}</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> <finalName>bigtools</finalName> </build> </project>