第31步- 解决中文问题
在增加Product的时候,如果描述输入中文,会发现写入库中的以及回显的描述都是乱码,更改AddProductController.java来解决这个问题
src/web/AddProductController.java
package web;import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ClassPathResource;import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import java.io.IOException;
import java.io.InputStream;
import java.io.FileInputStream;import java.util.Map;
import java.util.HashMap;
import java.sql.SQLException;import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;import bus.Product;
import bus.ProductManager;
import com.ibatis.sqlmap.client.SqlMapClient;
import db.MyAppSqlConfig;
import db.IProductDao;public class AddProductController implements Controller {    /** Logger for this class and subclasses */
    protected final Log logger = LogFactory.getLog(getClass());    private Product product;    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {        request.setCharacterEncoding("UTF-8");
        product.setId((Integer.parseInt(request.getParameter("product.id"))));
        product.setDescription(request.getParameter("product.description"));
        product.setPrice(new Double(request.getParameter("product.price")));
        System.out.println(product.getDescription());
        String now = (new java.util.Date()).toString();
        logger.info("add products now " + now);/* put product into database
        SqlMapClient sqlMap = MyAppSqlConfig.getSqlMapInstance();
        try {
            sqlMap.insert("insertProduct", product);
        } catch (SQLException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
*/
//
        Resource r = new ClassPathResource("Ibatis-Context.xml");
        XmlBeanFactory factory;
        factory = new XmlBeanFactory(r);
        IProductDao productdao = (IProductDao)factory.getBean("productDaoProxy");        productdao.insertProduct(product);
//
        Map myModel = new HashMap();
        myModel.put("now", now);        return new ModelAndView("index");
    }
    public Product getProduct() {
        return product;
    }    public void setProduct(Product product) {
        this.product = product;
    }
}