1. 程式人生 > >springMVC的簡單入門、接收表單資料

springMVC的簡單入門、接收表單資料

本次記錄一個springmvc的簡單入門小測試,和簡單的接收表單資料

1.建立maven專案,點選Create from archetype,並選中maven-archetype-webapp原型。

2.構建好後,目錄結構如下

3.建立原始碼資料夾和資原始檔夾

在src/main建立好資料夾後,還需要設定java為原始碼資料夾,resources為存放資源的資料夾。

3.maven新增依賴

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.0.7.RELEASE</version>
</dependency>

4.在web.xml中新增springMVC的入口

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!--入口-->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--springmvc的預設配置檔案是放在WEB-INF下的,
       並且要命名為*-servlet.xml,*為servlet的name,比如現在就為"pringmvc"。
    -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.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>

5.根據web.xml中設定的路徑,新增springMVC的配置檔案

5.在springmvc配置檔案中新增檢視定位和需要掃描的包的位置

<!--掃描指定包下的bean 交由spring管理-->
<context:component-scan base-package="com.byh.controller" />
<!--檢視定位-->
<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/page/" />
    <property name="suffix" value=".jsp" />
</bean>

6.建立好路徑com.byh.controller,在其下建立Hello.java

/*@Controller定義一個控制器  

*@RequestMapping 定義訪問路徑

*/

package com.byh.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Hello {

    @RequestMapping("/hello")
    public String hello(){
        //這裡因為springmvc配置檔案中定義好了檢視定位器,返回hello就是返回到/WEB-INF/page/hello.jsp
        return "hello"; 
    }

}

7.配置tomcat,測試。

接下來做接收表單資料的例子

1.建立好一個實體,用以接收表單資料,也可以單個接收表單資料,但是個人覺得比較麻煩

package com.byh.pojo;

public class Student {
    private int id;
    private String name;
    private String age;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
}

2.在WEB-INF/page下建立addStudent.jsp、showStudent.jsp

//這裡之所以沒有建立在webapp下是因為按照習慣只有index和login才能被直接訪問。

//所以單獨寫一個只用於跳轉的控制器,如下:

package com.byh.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class PageController {

    @RequestMapping("showAdd")
    public String addStudent(){
        return "addStudent";
    }

}

(1)addStudent.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <form action="addStudent">

        學生姓名 :<input type="text" name="name" value=""><br />
        學生年齡: <input type="text" name="age" value=""><br />

        <input type="submit" value="錄入">
    </form>

</body>
</html>

(2)showStudent.jsp,這裡注意添加了isELIgnored="false",不然EL表示式無法解析。

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
錄入的姓名:${student.name},年齡:${student.age}
</body>
</html>

3.接下來寫控制器

package com.byh.controller;

import com.byh.pojo.Student;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class StudentController {

    @RequestMapping("addStudent")
    public String add(Student student, Model model){
        model.addAttribute("student",student);
        return "showStudent";
    }

}

這裡中文應該亂碼的,但是沒有,忘記為什麼了,如果出現亂碼,則做如下修改:

1.修改addStudent.jsp的form表單的提交方式為post

2.web.xml中新增一個解決中文亂碼的filter

<filter>
  <filter-name>CharacterEncodingFilter</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>
</filter>
<filter-mapping>
  <filter-name>CharacterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

相關推薦

springMVC簡單入門接收資料

本次記錄一個springmvc的簡單入門小測試,和簡單的接收表單資料 1.建立maven專案,點選Create from archetype,並選中maven-archetype-webapp原型。 2.構建好後,目錄結構如下 3.建立原始碼資料夾和資原始檔

springmvc使用實體類接收提交資料中含有String型別對應Date型別的不匹配報錯400時如何處理

springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配情況,頁面提交表單報錯400,時如何處理? 參看部落格:http://blog.csdn.net/u014079773/article/details/51865178  我

SpringMVC 接收資料註解法和普通法

前面學習的時候用的註解法。複習的時候在想如果不用註解又該怎麼做? 不管什麼方式,先配置web.xml DispatcherServlet(前端控制器) <?xml version="1.0" encoding="UTF-8"?> <web-app ve

SpringMVC 接收資料的方式

[email protected]RequestParam @RequestMapping(value = "/xxxx.do") public void create(@RequestParam(value="userName") String userNa

Spring4 In Action-5.2.3-Spring Web應用程序-向頁面輸出列表接收參數接收

pla data prot template ack bin 通過 final span 源代碼鏈接:http://download.csdn.net/download/poiuy1991719/10117665 本代碼是基於數據庫表的操作,所以請先建立數據庫表 1

Struts2_day02---結果頁面配置獲取資料封裝資料到集合

一、 結果頁面配置 (1)區域性結果頁面 1)對每個action進行單獨配置。 2)在<action>內部配置 (2)全域性結果頁面 :統一配置多個action 作用:使多個具有相同返回值的action返回到相同頁面 優點:統一配置,減少程式碼量

SpringMVC form標籤伺服器驗證錯誤資訊回顯

form標籤 應用場景:方便伺服器資料在form表單上的展示 使用方式:1.引入標籤庫   2.建立表單   例如:建立兩個實體類 @[email protected]@ToString public class User { private

AJax提交資料到後臺springmvc接收

第一種方法直接用serialize()方法function insert(){ $.ajax({ type:"POST", url:"$

Servlet 獲取前端Form資料,並實現請求重定向請求轉發

1.前端介面 編寫一個最簡單的登入介面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title&g

使用SpringMVC 實現RESTful,並解決PUT,DELETE請求無法提交資料的問題

瞭解RESTful,使用SpringMVC 實現RESTful 關於REST: 1.表述性狀態轉移,是web服務的一種架構風格,是一種思想,而非標準或軟體。 2. 通常基於使用HTTP,URI,XML、JSON、HTML這些現廣泛流行的協議。 3.屬於輕量級(使

java學習路程(javaEE)之獲取資料獲取引數request域會話技術(Cookie)

一.獲取表單資料 //設定瀏覽器資料格式 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExcept

淺談web工程中BeanUtils的封裝MyBeanUtils,populate方法使用 【接收前端form資料

宣告本測試使用JDK9,Tomcat9.0.10 ,IDEA2018.2  ; 淺談  BeanUtils 的封裝 , BeanUtils  類中方法  populate  (Object  be

servlet入門:前端操作結合資料庫,實現資料庫部門資料增,刪,改功能

第一個完整的web probject,值得記錄下來的一點心得; 還是老規矩,不囉嗦,直接上程式碼; 第一部分:建立一個web project ,匯入jar包,配置檔案等; 配置檔案部分: <?xml version="1.0" encoding="UTF

spring mvc中接收提交的資料的幾種方式

spring mvc封裝資料的物件有session、request、ModelAndView、ModelMap、Model、Map Map map,Model model,ModelMap mmap,ModelAndView mav,HttpServletRequest r

Tomcat-前端所傳資料太大,導致後臺引數接收不到為null的解決辦法

    原因是傳輸的資料大小超過了tomcat的預設post請求大小,預設為2097152Byte,也就是2M的大小。 如果要傳輸超過2M的資料則需要修改tomcat的server.xml下的maxPostSize屬性,如下: <Connector port="

前端所傳資料太大,導致後臺引數接收不到為null的解決辦法

原因是傳輸的資料大小超過了tomcat的預設post請求大小,預設為2097152Byte,也就是2M的大小。 如果要傳輸超過2M的資料則需要修改tomcat的server.xml下的maxPostSi

【jQuery】jQuery的serializeArray封裝資料為JSON並提交到SpringMVC伺服器

表單 設定表單的id,點選提交按鈕後,將表單id和URL作為引數呼叫sendJSON()函式 <form id="adressForm"> <table> <tr> &l

springMVC實現form資料+檔案提交

說明: 1、SpringMVC實現檔案上傳,需要再新增兩個jar包。一個是檔案上傳的jar包,一個是其所依賴的IO包。這兩個jar包 commons-fileupload-1.2.2.jar commons-io-2.4.jar Controller @Respon

Spring接收前臺資料的三種方法

一、 提交方式表單可以通過get/post介面提交,在RequestMapping中不指定method那麼get/post都可以訪問到,指定method=RequestMethod.POST則只能通過post方式訪問。二、Controller層獲取表單資料的三種方式1. 在方

SpringMVC4+thymeleaf3的一個簡單例項(篇四:form資料驗證)

關於表單資料驗證有很多中方法,這裡我僅介紹JSR303註解驗證。 注意在spring的配置檔案spring-mvc.xml中要有這句程式碼:<mvc:annotation-driven/>