第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;
}
}
在增加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;
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货