zoukankan      html  css  js  c++  java
  • 我的Spring MVC第一个应用

    Product

    package com.mstf.bean;
    
    import java.io.Serializable;
    /**
     * Product类,封装了一些信息,包含三个属性
     * @author wangzheng
     *
     */
    public class Product implements Serializable {
    
    	private static final long serialVersionUID = 1L;
    	
    	private String name;
    	private String description;
    	private float price;
    	
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getDescription() {
    		return description;
    	}
    	public void setDescription(String description) {
    		this.description = description;
    	}
    	public float getPrice() {
    		return price;
    	}
    	public void setPrice(float price) {
    		this.price = price;
    	}
    	
    }
    

      ProductForm

    package com.mstf.bean.form;
    /**
     * ProductForm是表单类
     * 作用:当数据校验失败时,用于保存和展示用户在原始表单的输入
     * @author wangzheng
     *
     */
    public class ProductForm {
    	private String name;
    	private String description;
    	private String price;
    
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getDescription() {
    		return description;
    	}
    	public void setDescription(String description) {
    		this.description = description;
    	}
    	public String getPrice() {
    		return price;
    	}
    	public void setPrice(String price) {
    		this.price = price;
    	}
    	
    }
    

      InputProductController

    package com.mstf.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);
    	
    	/**
    	 * 返回一个ModelAndView,包含视图,且没有模型,所有直接转发
    	 */
    	@Override
    	public ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse resp) throws Exception {
    		logger.info("进入handleRequest成功");
    		return new ModelAndView("/WEB-INF/jsp/ProductForm.jsp");
    	}
    }
    

      SaveProductController

    package com.mstf.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 com.mstf.bean.Product;
    import com.mstf.bean.form.ProductForm;
    
    public class SaveProductController implements Controller {
    	
    	private static final Log logger=LogFactory.getLog(InputProductController.class);
    	
    	@Override
    	public ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse resp) throws Exception {
    		req.setCharacterEncoding("UTF-8"); //转码
            resp.setCharacterEncoding("UTF-8");
    		logger.info("进入SaveProductController成功");
    		// 构建一个ProductForm表单对象 
            ProductForm productForm = new ProductForm();
            // 写入表单对象
            productForm.setName(req.getParameter("name"));
            productForm.setDescription(req.getParameter("description"));
            productForm.setPrice(req.getParameter("price"));
    
            // 创建模型
            Product product = new Product();
            product.setName(productForm.getName());
            product.setDescription(productForm.getDescription());
            try {
                product.setPrice(Float.parseFloat(productForm.getPrice()));
            } catch (Exception e) {
            	e.printStackTrace();
            }
            return new ModelAndView("/WEB-INF/jsp/ProductDetails.jsp", "product",product);
    	}
    }
    

      ProductDetails.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>详情</title>
    <style type="text/css">@IMPORT url("css/main.css");</style>
    </head>
    <body>
    	<div id="global">
        <h4>产品已保存</h4>
        <p>
            <h5>详细列表:</h5>
            	名称: ${product.name}<br>
            	简介: ${product.description}<br>
            	价格: ¥${product.price}
        </p>
    </div>
    </body>
    </html>
    

      ProductForm.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>添加</title>
    <style type="text/css">@IMPORT url("css/main.css");</style>
    </head>
    <body>
    	<div id="global">
    		<form action="product_save.action" method="post">
    			<fieldset>
    				<legend>添加:</legend>
    					<p>
    					    <label for="name">名称: </label>
    						<input type="text" id="name" name="name" tabindex="1">
    		            </p>
    		            <p>
    					    <label for="description">简介: </label>
    						<input type="text" id="description" name="description" tabindex="2">
    					</p>
    		            <p>
    		    			<label for="price">价格: </label>
    						<input type="text" id="price" name="price" tabindex="3">
    					</p>
    					<p id="buttons">
    						<input id="reset" type="reset" tabindex="4">
    						<input id="submit" type="submit" tabindex="5" value="添加">
    					</p>
    			</fieldset>
    		</form>
    	</div>
    </body>
    </html>
    

      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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd">
           
        <bean name="/product_input.action" class="com.mstf.controller.InputProductController"/>
        <bean name="/product_save.action" class="com.mstf.controller.SaveProductController"/>
    
    </beans>
    

      web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <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"> 
    	
    	<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>*.action</url-pattern>
        </servlet-mapping>  
    
    </web-app>
    

      

  • 相关阅读:
    Vue学习笔记vueelementadmin 前端学习
    Vue学习笔记Vue.js2.X 学习(三)===>组件化高级
    Vue学习笔记rest_framework_jwt 学习
    Vue学习笔记Django REST framework3后端接口API学习
    Vue学习笔记Vue.js2.X 学习(一)===>基本知识学习
    Vue学习笔记Vue.js2.X 学习(二)===>组件化开发
    Vue学习笔记Windows系统Git安装(按装vueelementadmin报错)
    跑马灯
    使用信号量的线程同步实验
    按键盘数码管显示实验
  • 原文地址:https://www.cnblogs.com/ceet/p/6594515.html
Copyright © 2011-2022 走看看