1. 程式人生 > >ssm框架搭建(三)-controller層-springMVC

ssm框架搭建(三)-controller層-springMVC

mvc層,控制檢視層。主要負責與頁面的互動。
最後的檔案結構圖
ssm
首先是Controller層:UserController.java

package com.ssm.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable
; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.ssm.entity.User; import com.ssm.service.UserService; /** * @author zx * @Date 2017年10月11日 上午9:25:39 * @Class UserController.java */
@Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/userName", method = RequestMethod.GET) public String list(Model model) { return "userName"; } @RequestMapping(value = "/{userId}/query"
, method = RequestMethod.GET, produces = { "application/json;charset=utf-8" }) @ResponseBody public User queryUser(@PathVariable("userId") int userId) { User user = userService.queryUserByUserId(userId); return user; } }

springMVC預設只配置對jsp的檢視解析配置,這裡是一個html解析器,並繼承 InternalResourceView 後重寫 checkResource,這是我在網上找的,原文在http://blog.csdn.net/cai_chinasoft/article/details/51611596,有興趣可以去看看。HtmlResourceView.java

package com.ssm.utils;

import java.io.File;
import java.util.Locale;

import org.springframework.web.servlet.view.InternalResourceView;

/**  
* @author zx 
* @Date 2017年10月11日 上午10:57:33  
* @Class 
* 重寫 解析器
*/
public class HtmlResourceView extends InternalResourceView{

    @Override
    public boolean checkResource(Locale locale) throws Exception {
        // TODO Auto-generated method stub
        String url = this.getServletContext().getRealPath("/") + getUrl();
         File file = new File(url);  
         return file.exists();// 判斷該頁面是否存在  
    }
}

spring配置:spring-mvc.xml(這裡我只配置了html的,jsp的網上找找或者剛才那個網址裡面有)

<?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.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--配置spring mvc -->
    <!--1,開啟springmvc註解模式 a.自動註冊DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter 
        b.預設提供一系列的功能:資料繫結,數字和日期的[email protected],@DateTimeFormat c:xml,json的預設讀寫支援 -->
    <mvc:annotation-driven />

    <!--2.靜態資源預設servlet配置 -->
    <!-- 1).加入對靜態資源處理:js,gif,png 2).允許使用 "/" 做整體對映 -->
    <mvc:default-servlet-handler />

    <!--3:配置html 顯示ViewResolver-->
    <bean id="htmlviewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
            value="com.ssm.utils.HtmlResourceView" />
        <property name="order" value="0" />
        <property name="prefix" value="/" />
        <property name="suffix" value=".html" />
        <property name="contentType" value="text/html;charset=UTF-8"></property>
    </bean>

    <!--4:掃描web相關的controller -->
    <context:component-scan base-package="com.ssm.controller" />
</beans>

最後就是介面:userName.html(使用了bootstrap,jquery)

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <link href="https://cdn.bootcss.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="stylesheet">
    </head>

    <body>
        <div class="container">
            <div class="row clearfix">
                <div class="col-md-12 column">
                        <div class="form-group">
                            <label>userId</label><input type="text" class="form-control" id="userId" />
                        </div>
                        <div class="checkbox">
                        </div> <button type="button" class="btn btn-primary" onclick="submit()">Submit</button>
                </div>
            </div>
        </div>
        <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
        <script src="https://cdn.bootcss.com/popper.js/1.12.5/umd/popper.js"></script>
        <script type="text/javascript" src="https://cdn.bootcss.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>
        <script type="text/javascript">
            function submit(){
                var userId = $("#userId").val();
                if(userId == ''){
                    alert("userId不能為空")
                }else{
                    $.get("./"+userId+"/query",function(result){
                    alert("使用者名稱為:"+result.userName);
                })
                }
            }
        </script>
    </body>

</html>

相關推薦

ssm框架搭建-controller-springMVC

mvc層,控制檢視層。主要負責與頁面的互動。 最後的檔案結構圖 首先是Controller層:UserController.java package com.ssm.controller; import org.springframework.b

SpringMVC 學習 十 SSM環境搭建springMVC檔案配置 springMVC學習 註解開發環境搭建

SpringMVC檔案配置的詳細過程,可以檢視springMVC環境搭建的註解配置篇《springMVC學習三 註解開發環境搭建》 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2

【java】SSM框架搭建——idea搭建maven聚合工程

一、前言       以前開發的java使用的是Eclipse開發的,前一段時間換成了idea。還有點不習慣,然後自己就研究了一下如何使用idea搭建 maven的聚合工程。 二、架構說明  

【從零開始搭建自己的.NET Core Api框架集成輕量級ORM——SqlSugar:3.3 自動生成實體類

i++ 點運算 自己的 yui content project style ref 數據庫表 系列目錄 一. 創建項目並集成swagger   1.1 創建   1.2 完善 二. 搭建項目整體架構 三. 集成輕量級ORM框架——SqlSugar   3.1 搭建環境  

SSM框架搭建Eclipse+非Maven版本

時間:2018年5月26日 目的:                搭建一個簡單的ssm框架,提升自己對ssm框架的理解。 基本步驟: 1、建立web工程

從零寫一個Java WEB框架Controller轉換器

該系列,其實是對《架構探險》這本書的實踐。本人想記錄自己的學習心得所寫下的。 從一個簡單的Servlet專案開始起步。對每一層進行優化,然後形成一個輕量級的框架。 每一篇,都是針對專案的不足點進行優化的。 專案已放上github

從零寫一個Java WEB框架Controller優化

該系列,其實是對《架構探險》這本書的實踐。本人想記錄自己的學習心得所寫下的。 從一個簡單的Servlet專案開始起步。對每一層進行優化,然後形成一個輕量級的框架。 每一篇,都是針對專案的不足點進行優化的。 專案已放上github

從零寫一個Java WEB框架Dao優化

該系列,其實是對《架構探險》這本書的實踐。本人想記錄自己的學習心得所寫下的。 從一個簡單的Servlet專案開始起步。對每一層進行優化,然後形成一個輕量級的框架。 每一篇,都是針對專案的不足點進行優化的。 專案已放上github

SSM框架搭建spring+springmvc+mybatis

一.建立web專案(eclipse)  File-->new-->Dynamic Web Project (這裡我們建立的專案名為SSM) 下面是大致目錄結構   二. SSM所需jar包。  jar包連結:https://pan.b

SSM框架搭建Maven專案

一.專案的整體目錄結構 二.構建Maven專案 三、pom檔案 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins

三大框架整合ssh-----service

專案的目錄結構圖:  對於service層,只需要把service上加註解交給spring管理即可。 一、service的介面(IElecTextService.java) public interface IElecTextService { public stat

SSM框架搭建Spring+SpringMVC+MyBatis與easyui整合並實現增刪改查實現

一、用myEclipse初始化Web專案        新建一個web project: 二、建立包 controller        //控制類 service//服務介面 service.impl//服務實現類 dao  //data access object

STSSpring Tool SuiteSSMSpring+SpringMVC+Mybatis框架搭建

搭建 div 圖片 control 網盤 ext lmap wid 方便 繼完成controller配置並使用controller實現頁面跳轉,現連接數據庫進行登錄。 在SSM框架中,使用Mybatis與數據庫連接,因此需要配置關於mybatis的配置。 廢話少說直接開始

排球計分Controller的實現

rip cat entity ext work using gen you data 1.首先實現的是Vollerballs的控制器: 利用entity framework自動生成控制器,用實體類VolleyballDB為模型和VolleyballContext為上下文自動

selenium + python自動化測試unittest框架學習webdriver對頁面其他控件操作

文件的 文件路徑 內容 option selenium script web 對話 對話框 1.對話框,下拉框 (1)對話框的有兩種,一種是iframe格式的,需要switch_to_iframe()進行定位,現在大部分的對話框是div格式的,這種格式的可以通過層級定位來定

selenium + python自動化測試unittest框架學習webdriver元素定位

倒數 節點 大於 文本框 webdriver 而且 單標簽 unit 遍歷 1.Webdriver原理 webdirver是一款web自動化操作工具,為瀏覽器提供統一的webdriver接口,由client也就是我們的測試腳本提交請求,remote server瀏覽器進行響

LAMP環境的搭建----PHP7的安裝

title move eas 安裝php7 edi ase epel pre tps centos自帶的PHP源是5.4版本的。如果需要安裝PHP 5.4 直接輸入 yum install php -y 即可 因為PHP7性能巨大的提升,因此本文選擇安裝PHP7 如

ONVIF學習-ONVIF開發框架搭建C++

nts red port ice 框架搭建 代碼 nal tails 服務器 第一步、下載gsoap 從gsoap官網(http://www.genivia.com/products.html#notice)下載最新版gsoap(博主用的是gsoap_2.8.45

Spring框架深入--事務

ssi new port 復讀 控制 級別 實現 inter 就是 一、事務的概念   1、事務是什麽    (1)、作為單個邏輯工作單元執行的一系列操作(一組SQL會成為一個事務),是並發控制的單位,要麽全部成功,要麽全部失敗    (2)、如銀行轉賬(需要兩個up

Python 各種測試框架簡介:nose

調用 QQ upm href 命令 math 一點 發現 方法 轉載:https://blog.csdn.net/qq_15013233/article/details/52527260 摘要 這裏將從(pythontesting.net)陸續編譯四篇 Python 測試框