1. 程式人生 > >springMVC 註解實現例項 springMVC+ajax

springMVC 註解實現例項 springMVC+ajax

springMVC註解版本的工程搭建,web工程名字為:springMVC-study

1、首先在web.xml中加入springMVC的前端過濾器,DispatcherServlet.這裡的servlet-name就規定了springmvc的配置檔名字為springmvc-servlet.xml

  <!--配置一個控制器 -->
  <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup><!-- 表示在容器啟動時就載入 -->
  </servlet>
  <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
  </servlet-mapping>
2、新建一個springmvc配置檔案,名字為:springmvc-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:util="http://www.springframework.org/schema/util"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop"
       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.0.xsd
                http://www.springframework.org/schema/tx
                http://www.springframework.org/schema/tx/spring-tx-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/aop
                http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                http://www.springframework.org/schema/util
                http://www.springframework.org/schema/util/spring-util-3.0.xsd    
                http://www.springframework.org/schema/mvc 
                http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">     
  <!-- 啟用註解 -->
<context:annotation-config/>           
<!-- 自動掃描所有的包 -->              
<context:component-scan base-package="com.springmvc"/> 
<mvc:annotation-driven  /> 
    <!--Spring3.1開始的註解 HandlerMapping --> 
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> 
    <!--Spring3.1開始的註解 HandlerAdapter --> 
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> 
     <!-- 解析頁面的規則  -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
        <property name="prefix" value="/jsp/"/> 
        <property name="suffix" value=".jsp"/>   <!--表示:/jsp/list.jsp -->
    </bean> 
    <!-- 配置載入靜態檔案 -->
    <mvc:resources location="/js/" mapping="/js/**"/>
</beans>
3、編寫一個前端控制器UserController,在Controller中的方法返回值不一定為ModelAndView,可以是任意的物件
package com.springmvc.controller;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
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.ResponseStatus;
import org.springframework.web.servlet.ModelAndView;
import com.springmvc.domain.User;
@Controller //@Controller這個註解用來標記這是個控制器,
@RequestMapping("/user")//@RequestMapping這個註解可以標記在類上也可以標記在方法上,用來對映類或者方法
public class UserController {
 
        /*跳轉到register.jsp*/
        @RequestMapping("/addUI")
        public ModelAndView addUserUI(){
          ModelAndView mv=new ModelAndView();
        /*ModelAndView是一個類似於Map的,可以通過addObject("key","value"),這種方式去放值,在jsp頁面可以通過EL表示式${key}拿到value*/
          mv.addObject("key", "admin");
          mv.setViewName("register");
          return mv;
        }
        /*處理前臺提交的引數,並跳轉到list.jsp*/
        @RequestMapping(value="/add",method=RequestMethod.POST)
        public ModelAndView addUser(User user){
                ModelAndView mv=new ModelAndView();
                mv.addObject("user","admin");
                mv.setViewName("list");
                return mv;
        }
   /*springMVC與Ajax整合*/
        @RequestMapping(value="/ajax",method=RequestMethod.POST)
        @ResponseStatus(OK)//
        /*@ResponseBody該註解用於將Controller的方法返回的物件,通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response物件的body資料區
        *返回的資料不是html標籤的頁面,而是其他某種格式的資料時(如json、xml等)使用;
     */
        @ResponseBody
        public Map<Object, Object> spring_ajax(){
                Map<Object, Object> map=new HashMap<Object, Object>();
                map.put("name", "admin");
                map.put("age", 1);
                map.put("email", "
[email protected]
"); return map; } }
這裡用到一個User物件
package com.springmvc.domain;
public class User{
        private Integer id;
        private String userName;
        private String age;
        private String password;
        private String email;
        .....set與get方法......
}

4、編寫專案所需要的頁面register.jsplist.jsp,我們在WebContent下面建立一個jspfolder,register.jsplist.jsp放入其中,然後在WebContent下再建立一個js資料夾,把jquery-1.11.1.js檔案放入。

register.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">
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>使用者註冊</title>
</head>
<body><center>
<form action="${pageContext.request.contextPath}/user/add"  method="POST">
使用者名稱:  <input type="text" name="userName"/><br>
使用者年齡:<input type="text" name="age"><br>
使用者密碼:<input type="password" name="password"/><br>
使用者郵箱:<input type="text" name="email"><br>
<input type="submit" value="註冊"/>
</form>
</center></body>
</html>

list.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>List User </title>
</head>
<body>
<%=request.getSession().getAttribute("user")%><br>
This is list User page!
<br><input type="button" value="ajax" id="btn"/>
<div id="div1"></div>
<script type="text/javascript" src="../js/jquery-1.11.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
        $("#btn").click(function(){
           $.ajax({
                   url:'./ajax',
                   type:'POST',
                   success:function(data){
                          $("#div1").text(data.name+"  "+data.age+"   "+data.email);
                   },
              error:function(data){
                   alert("fail");
              }
           });
        });
});
</script>
</body>
</html>
5、通過訪問:http://localhost:8080/springMVC-study/user/addUI可以直接跳到register.jsp頁面,按要求填好引數,點選註冊按鈕可以跳轉到list.jsp頁面。

相關推薦

springMVC 註解實現例項 springMVC+ajax

springMVC註解版本的工程搭建,web工程名字為:springMVC-study 1、首先在web.xml中加入springMVC的前端過濾器,DispatcherServlet.這裡的servlet-name就規定了springmvc的配置檔名字為springmvc

SpringMVC註解實現登入驗證

攔截器抽象類繼承spring的HandlerInterceptorAdapter package com.hsr.component.auth; import com.hsr.core.annotations.AuthAdmin; import org.springfra

J2EE專案使用自定義註解實現基於SpringMVC + Mybatis + Mysql的讀寫分離

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/

註解實現例項

  實現註解需要三個條件:註解宣告、使用註解的元素、操作註解使其起作用(註解處理器)。   定一個MyTag註解類: import java.lang.annotation.ElementType;import java.lang.annotation.In

SpringMVC案例2----基於spring2.5的註解實現

turn ddl mon ret load getc inpu aspectj mysql 和上一篇一樣,首先看一下項目結構和jar包 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a

SpringMVC(八)使用@Valid註解實現後臺表單校驗

目錄   依賴jar 配置spring對@valid註解的支援 JSR303定義的校驗型別 如何使用 建立一個pojo類 controller中觸發引數校驗 硬編碼校驗 使用AOP的方式實現校驗 依賴jar <dep

SpringMvc擴充套件自定義註解實現web加密解密 不侵入業務程式碼

SpringMvc擴充套件自定義註解實現web解密 不侵入業務程式碼(1) 1.需求 在專案中spring web服務為外部APP提供rest介面,為了 安全考慮 一般會加入自己的驗證,常規 的簽名+資料加密, 當然一個好的架構師或者負責人會在專案初期會考慮到的問題現老程

SpringMVC中使用@RequestBody,@ResponseBody註解實現Java物件和XML/JSON資料自動轉換(上)

Spring3.1開始使用新的HandlerMapping 和 HandlerAdapter 來支援@Contoller 和@RequestMapping註解處理:處理器對映RequestMappingHandlerMapping和處理器介面卡RequestMappingH

SpringMVC配合EL表示式以及AJAX實現區域性重新整理

現在專案使用的是SpringMVC,前臺通過EL表示式取值展現,現在前臺頁面點選查詢按鈕時需要非同步重新整理列表內容。傳統方式就是拼接HTML返回,無論是後臺返回和前臺拼接方式都不是很好,標籤如果過多排錯,修改都很麻煩。可以採用如下的方式進行動態重新整理: 如下是需要展現以

純手寫SpringMVC架構,用註解實現springmvc過程(動腦學院Jack老師課後自己練習的體會)

標籤: 1、第一步,首先搭建如下架構,其中,annotation中放置自己編寫的註解,主要包括service controller qualifier RequestMapping 第二步:完成對應的annotation: package com.cn.annotation; import java.

shiro springmvc 註解 ajax和同步請求 無許可權處理處理

1. springmvc進行錯誤跳轉配置如下 <!-- shiro為整合springMvc 攔截異常 --> <bean class="org.springframework.web.servlet.handler.SimpleMappingExcep

Spring+SpringMVC+Mybatis 利用AOP自定義註解實現可配置日

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 5

純手寫SpringMVC框架,用註解實現springmvc過程

開發十年,就只剩下這套架構體系了! >>>   

基於SpringMVC攔截器和註解實現controller中訪問權限控制

pattern efi figure super 設置 復制代碼 check pin system SpringMVC的攔截器HandlerInterceptorAdapter對應提供了三個preHandle,postHandle,afterCompletion方法。

Spring+SpringMVc+Mybatis實現數據庫查詢

java代碼 格式 jdb web.xml配置 set ransac load idle name 大家好,本篇博客小Y將會給大家帶來一篇SSM框架實現數據查詢的Demo,使用的數據庫是Mysql,Server是TomCat.現在的SSM整合非常流行,因為springm

springmvc 註解式開發 處理器方法的返回值

pri ajax mvc img 返回值 -1 分享 alt spring 1.返回void -Ajax請求 後臺: 前臺: springmvc 註解式開發 處理器方法的返回值

SpringMVC 註解

哪些 轉存 .class spring 屬性 選擇 允許 model mvc 1.@SessionAttributes 允許我們有選擇地指定Model中的哪些屬性需要轉存到HttpSession中對象中 只能聲明在類上,而不能聲明在方法上 @SessionAt

SpringMVC高速實現文件上傳功能

comm utf int mit out ads .get ddc 成功 SpringMVC為我們封裝了上傳文件的功能,如今就試用一下 須要的jar包 我用的是Maven項目,就不須要到處下載Jar包了 SpringMVC的搭建 首先要在ap

/----------關鍵字:springmvc註解

.cn 技術 多個 ng- 分享 創建 adapt handler welcome M1:這篇內容是在上一篇的基礎上進行的修改。具體步驟如下: M2:新建項目Dynamic Web Project 項目annotation M3:其它地方不變只需要對springmvc_

springmvc學習筆記(13)-springmvc註解開發之集合類型參數綁定

return 可擴展性 list .net items trac class javascrip lin springmvc學習筆記(13)-springmvc註解開發之集合類型參數綁定