最近在做EJB,乱码的问题很严重,先后解决了写入数据库,页面传递等乱码问题,但是现在是将实体bean传到EJB容器中时,出现了乱码,EJB容器的编码方式不是gb2312,我该怎么修改呢?
这是EJB实现
public class adminAction implements adminActionRemote {
@PersistenceContext
protected EntityManager em;
public boolean addBook(Book book) {
try{
if(book!=null){
String bookName = book.getBookName();
bookName = new String(bookName.getBytes("ISO-8859-1"),"GBK");
System.out.print(bookName);
}
em.persist(book);
}catch (Exception e){
e.printStackTrace();
}
return true;
}
。。
这是调用
public class addBook extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");//设置输入编码格式
response.setContentType("text/html;charset=GB2312"); //设置输出编码格式
// response.setCharacterEncoding("gb2312");//使用出项乱码
PrintWriter out = response.getWriter();
Properties props = new Properties();
props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
InitialContext ctx;
try {
ctx = new InitialContext(props);
adminActionRemote admin = (adminActionRemote) ctx.lookup("adminAction/remote");
String bookid = request.getParameter("bookid");
String catalogid = request.getParameter("catalog");
String bookName = request.getParameter("bookName");
String bookIsbn = request.getParameter("bookIsbn");
String author = request.getParameter("author");
String publisher = request.getParameter("publisher");
String price = request.getParameter("price");
String sprice = request.getParameter("sprice");
String number = request.getParameter("number");
String picture = request.getParameter("picture");
Book book = new Book();
// book.setBookid(bookid);
// book.setCatalog(catalog);
book.setBookName(bookName);
book.setBookIsbn(bookIsbn);
book.setAuthor(author);
book.setPublisher(publisher);
book.setPrice(Float.parseFloat(price));
book.setSprice(Float.parseFloat(sprice));
book.setNumber(Integer.parseInt(number));
book.setPicture(picture);
Catalog catalogBean = new Catalog();
if(catalogid.equals("1")){
catalogBean.setCatalogid(Integer.parseInt(catalogid));
book.setCatalog(catalogBean);
}
if(book!=null){
if(admin.addBook(book)){
System.out.print("yes");
}else{
System.out.print("no");
}
}
out.print(bookName+" "+book.getBookName()+" "+publisher);
}catch(Exception e){
e.printStackTrace();
} }。。
这是EJB实现
public class adminAction implements adminActionRemote {
@PersistenceContext
protected EntityManager em;
public boolean addBook(Book book) {
try{
if(book!=null){
String bookName = book.getBookName();
bookName = new String(bookName.getBytes("ISO-8859-1"),"GBK");
System.out.print(bookName);
}
em.persist(book);
}catch (Exception e){
e.printStackTrace();
}
return true;
}
。。
这是调用
public class addBook extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("gb2312");//设置输入编码格式
response.setContentType("text/html;charset=GB2312"); //设置输出编码格式
// response.setCharacterEncoding("gb2312");//使用出项乱码
PrintWriter out = response.getWriter();
Properties props = new Properties();
props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
InitialContext ctx;
try {
ctx = new InitialContext(props);
adminActionRemote admin = (adminActionRemote) ctx.lookup("adminAction/remote");
String bookid = request.getParameter("bookid");
String catalogid = request.getParameter("catalog");
String bookName = request.getParameter("bookName");
String bookIsbn = request.getParameter("bookIsbn");
String author = request.getParameter("author");
String publisher = request.getParameter("publisher");
String price = request.getParameter("price");
String sprice = request.getParameter("sprice");
String number = request.getParameter("number");
String picture = request.getParameter("picture");
Book book = new Book();
// book.setBookid(bookid);
// book.setCatalog(catalog);
book.setBookName(bookName);
book.setBookIsbn(bookIsbn);
book.setAuthor(author);
book.setPublisher(publisher);
book.setPrice(Float.parseFloat(price));
book.setSprice(Float.parseFloat(sprice));
book.setNumber(Integer.parseInt(number));
book.setPicture(picture);
Catalog catalogBean = new Catalog();
if(catalogid.equals("1")){
catalogBean.setCatalogid(Integer.parseInt(catalogid));
book.setCatalog(catalogBean);
}
if(book!=null){
if(admin.addBook(book)){
System.out.print("yes");
}else{
System.out.print("no");
}
}
out.print(bookName+" "+book.getBookName()+" "+publisher);
}catch(Exception e){
e.printStackTrace();
} }。。
解决方案 »
- 求webservice的资料共享!
- 请教一个JBUILDER 的问题!
- 紧急求助ing:在web程序中如何实现某个目录下的多个文件的打包下载
- 中文怎么是乱码呢?----大家看一下!
- 在纯JScript文件里面能不能用asp语句超作数据库,并返回记录
- 关于jsp连SQLServer 2000的问题
- form页面不刷新可以吗?
- 急java.lang.NoClassDefFoundError
- 求推荐一个上传插件
- javax.websocket.DeploymentException: Multiple Endpoints may not be deployed to t
- EJB乱码问题
- 持久化对象,如果复杂话怎解决啊?
楼主【shiyecao】截止到2008-08-03 00:06:36的历史汇总数据(不包括此帖):
发帖的总数量:7 发帖的总分数:40 每贴平均分数:5
回帖的总数量:4 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:7 结贴的总分数:40
无满意结贴数:3 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:42.86 % 无满意结分率:0.00 %
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=shiyecao