91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringMVC編程使用Controller接口實現控制器實例代碼

發布時間:2020-08-21 18:02:47 來源:腳本之家 閱讀:133 作者:JDI_NW 欄目:編程語言

Controller簡介

Controller控制器,是MVC中的部分C,為什么是部分呢?因為此處的控制器主要負責功能處理部分:

1、收集、驗證請求參數并綁定到命令對象;

2、將命令對象交給業務對象,由業務對象處理并返回模型數據;

3、返回ModelAndView(Model部分是業務對象返回的模型數據,視圖部分為邏輯視圖名)。

DispatcherServlet,主要負責整體的控制流程的調度部分:

1、負責將請求委托給控制器進行處理;

2、根據控制器返回的邏輯視圖名選擇具體的視圖進行渲染(并把模型數據傳入)。

因此MVC中完整的C(包含控制邏輯+功能處理)由(DispatcherServlet+Controller)組成。

因此此處的控制器是WebMVC中部分,也可以稱為頁面控制器、動作、處理器。

之前用注解的方式實現了控制器,現在換了一種,通過實現了Controller接口的Controller類來實現處理請求的作用。

主要包括:XML配置文件,Java普通類,Javaform類,Controller類,和JSP界面

1.首先是XML配置文件,包括了web.xml和springmvc-servlet.xml。代碼如下:

1)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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
 <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> 
</web-app> 

2)springmvc-servlet,默認方式的DispatcherServlet配置。

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
   
  <bean name="/product_input.action" class="controller.InputProductController" /> 
  <bean name="/product_save.action" class="controller.SaveProductController" /> 
 
  <bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
   <property name="prefix" value="/WEB-INF/jsp/" /> 
   <property name="suffix" value=".jsp" /> 
  </bean> 
</beans> 

2.Controller類,包括兩個,一個用于打開首頁,一個用于處理用戶輸入并返回

1)InputProductController.java

package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class InputProductController implements Controller{
	private static final Log logger = LogFactory.getLog(InputProductController.class);
	@Override 
	  public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		logger.info("InputProductController called");
		return new ModelAndView("ProductForm");
	}
}

2)SaveProductController.java,保存用戶輸入的Product信息并返回

package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import domain.Product;
import form.ProductForm;
public class SaveProductController implements Controller{
	private static final Log logger = LogFactory.getLog(SaveProductController.class);
	@Override 
	  public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
		logger.info("SaveProductController called");
		ProductForm productForm = new ProductForm();
		//product action properties 
		productForm.setName(request.getParameter("name"));
		productForm.setDescription(request.getParameter("description"));
		productForm.setPrice(request.getParameter("price"));
		//create model 
		Product product = new Product();
		product.setName(productForm.getName());
		product.setDescription(productForm.getDescription());
		try {
			product.setPrice( 
			          float.parsefloat(productForm.getPrice()));
		}
		catch(NumberFormatException e) {
		}
		//insert code to save Product 
		System.out.println("返回視圖");
		return new ModelAndView("ProductDetails","product",product);
	}
}

3.JSP界面,包括兩個,ProductForm和ProductDetails

1)ProductForm.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>Insert title here</title> 
</head> 
<body> 
 
<div id="global"> 
<form action="product_save.action" method="post"> 
 <fieldset> 
  <legend>Add a product</legend> 
  <label for="name">Product Name: </label> 
  <input type="text" id="name" name="name" value="" tabindex="1"> 
  <label for="description">Description: </label> 
  <input type="text" id="description" name="description" tabindex="2"> 
  <label for="price">Price: </label> 
  <input type="text" id="price" name="price" tabindex="3"> 
  <div id="buttons"> 
   <label for="dummy"></label> 
   <input id="reset" type="reset" tabindex="4"> 
   <input id="submit" type="submit" tabindex="5" value="Add Product"> 
  </div> 
 </fieldset> 
</form> 
</div> 
 
</body> 
</html> 

2)ProductDetails.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>Insert title here</title> 
</head> 
<body> 
<div id="global"> 
 <h5>The product has been saved.</h5> 
 <p> 
   <h6>Details:</h6> 
   Product Name: ${product.name} <br /> 
   Description: ${product.description}<br /> 
   Price: $${product.price} 
 </p> 
</div> 
</body> 
</html> 

好了,代碼部分已經齊全了,啟動server之后,輸入URL:http://localhost:8080/SpringSimple/product_input.action;就可以看到首頁了。

注:配置文件和Controller類返回的視圖中文件的位置必須要小心。。

總結

以上就是本文關于SpringMVC編程使用Controller接口實現控制器的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:

Springmvc Controller接口代碼示例

Spring SpringMVC在啟動完成后執行方法源碼解析

SpringMVC使用MultipartFile 實現異步上傳方法介紹

如有不足之處,歡迎留言指出。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸水县| 武乡县| 绿春县| 大理市| 延边| 富蕴县| 离岛区| 开封市| 闸北区| 鲁山县| 汉阴县| 信丰县| 丹寨县| 札达县| 宁晋县| 二手房| 陈巴尔虎旗| 昌平区| 称多县| 玛多县| 赫章县| 沙坪坝区| 资中县| 南昌县| 洛宁县| 泰宁县| 沧源| 马边| 忻城县| 陈巴尔虎旗| 剑川县| 全南县| 景泰县| 德州市| 河东区| 济南市| 舟曲县| 淮北市| 晴隆县| 潼关县| 大同市|