首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

如何改这个,小白请问

2013-01-19 
怎么改这个,小白请教package newsimport java.io.*import java.io.IOExceptionimport javax.servlet.ht

怎么改这个,小白请教
如何改这个,小白请问
package news;
import java.io.*;
import java.io.IOException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AdminAction extends HttpServlet{
  PrintWriter out;
public void doPost(HttpServletRequest request,
                HttpServletResponse response)
  throws IOException
{
 response.setContentType("text/html;charset=gb2312");
 out=response.getWriter();
 HttpSession session=request.getSession(false);
 int adminid=(Integer)session.getAttribute("adminid");
 int power=(Integer)session.getAttribute("power");
 StrEncode SE=new StrEncode();
 String nid=request.getParameter("nid");
  int nnid = Integer.parseInt(nid);
 String cid=request.getParameter("cid");
 String action=request.getParameter("action");
 DBConn conn=new DBConn();
 try{
   NewsAdmin NA=new NewsAdmin();
   if(action.equals("1")){
     if (NA.canAdmin(adminid, nnid) || power > 10) {
       NA.DeleNews(nnid);
       response.sendRedirect("index.jsp");
     }
     else{
      out.print("你无权操作!");
     }
   }     
   if(action.equals("2")){
      int ccid=Integer.parseInt(cid);
     if (power > 10) {  
      NA.DeleComm(ccid);
      response.sendRedirect("shownews.jsp?nid="+nid);
     }
     else{
      out.print("你无权操作!");
     }
    }

  }
  catch(Exception e){
   out.print("发表评论写入数据库失败!"+e.toString());
   }
}
 public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws IOException
  {
      doPost(request, response);
  }

}

[解决办法]
int ccid=Integer.parseInt(cid);
这句话在cid不为空的情况下是可以转换的,否则就出现你的问题。过滤下为空的情况再转换。
[解决办法]
  int nnid = Integer.parseInt(nid);
 int ccid=Integer.parseInt(cid);
这里面的nid或者cid可能是null值,你强制转换前先判断是否是null值
[解决办法]
转换之前要把这种情况考虑进去处理一下,数据保护,
[解决办法]
String nid=request.getParameter("nid");
String cid=request.getParameter("cid");

首先你的nid和cid是数值型的字符串么?例如 "111","222"之类的。。


会不会出现"aaa","bbb"之类不能转成int型的字符串,要是有的话,只能try catch处理了。。。

还有你的nid和cid是否可能会空字符串""呢,
那就需要再转之前判断一下,比如
if (nid != null && !"".equals(nid)) {
//转成int操作。。。
}
[解决办法]
七楼的答案

引用:
引用:转换之前要把这种情况考虑进去处理一下,数据保护,
我知道这问题,就是不会改

[解决办法]
引用:
String nid=request.getParameter("nid");
String cid=request.getParameter("cid");

首先你的nid和cid是数值型的字符串么?例如 "111","222"之类的。。
会不会出现"aaa","bbb"之类不能转成int型的字符串,要是有的话,只能try catch处理了。。。

还有你……

这个不就行了啊
[解决办法]
try catch一下吧
[解决办法]
 try{
     int nnid = Integer.parseInt(nid);
  }catch (NullPointerException e) {
System.out.print(e+"空数据");
  }catch (ParseException e) {
System.out.print(e+"数据错误")
  }
[解决办法]
你的URL传过来action和cid两个参数,在servlet中获取没有传数值的nid,会获取null(nid=null)。从代码上看,你要获取的是cid而不是nid。OK?
[解决办法]
引用:
引用:
String nid=request.getParameter("nid");
String cid=request.getParameter("cid");

首先你的nid和cid是数值型的字符串么?例如 "111","222"之类的。。
会不会出现"aaa","bbb"之类不能转成int型的字符串,要是有的话,只能try catch处理了。……


这个试试
[解决办法]
空指针?加判断先 ,然后再try  catch 吧

[解决办法]
Quote: 引用:

int nnid = Integer.parseInt(nid);
 int ccid=Integer.parseInt(cid);
这里面的nid或者cid可能是null值,你强制转换前先判断是否是null值
[解决办法]
你这里出现的错误是获得的null对象,所以产生空指针异常。
[解决办法]
这是空指针异常,你得把要转化的那个值做判断,如果不为空,在转化
[解决办法]
String nid=request.getParameter("nid");//应该是这里是null了,判断一下就好了嘛!
int nnid = -1;
if(null != nid)//如果需要还可以trim一下...
 nnid = Integer.parseInt(nid);

[解决办法]
 int adminid=(Integer)session.getAttribute("adminid");
 int power=(Integer)session.getAttribute("power");
这样转换行吗?
[解决办法]
  兄弟这是数据转换出错了,不能把null转换成int 做个判断吧... 
[解决办法]
你获取nid没有值,不能转型
[解决办法]
有一句话叫做:基础不牢,地动山摇。
[解决办法]
引用:
Quote: 引用:
int nnid = Integer.parseInt(nid);
 int ccid=Integer.parseInt(cid);
这里面的nid或者cid可能是null值,你强制转换前先判断是否是null值


就是这个了,你试试

热点排行