问题描述
求助求助。。。在做一个电影搜索的,这里dianying.jsp页面写表单,action=“helpSearchFilm”。按下提交后地址栏:http://localhost:9090/kechengsheji/helpSearchFilm?searchKey=%E5%88%98%E5%BE%B7%E5%8D%8E&searchType=%E6%BC%94%E5%91%98&submit.x=97&submit.y=17但是页面空白web.xml里这部分是<servlet><servlet-name>searchFilm</servlet-name><servlet-class>user.yourservlet.HandleFilm</servlet-class></servlet><servlet-mapping><servlet-name>searchFilm</servlet-name><url-pattern>/helpSearchFilm</url-pattern></servlet-mapping>以下是HandleFilm.java内容packageuser.yourservlet;importuser.yourbean.FilmInform;importjava.sql.*;importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassHandleFilmextendsHttpServlet{publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(Exceptione){}}publicStringhandleString(Strings){try{bytebb[]=s.getBytes("iso-8859-1");s=newString(bb);}catch(Exceptionee){}returns;}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{FilmInforminform=newFilmInform();request.setAttribute("inform",inform);StringsearchKey=request.getParameter("searchKey").trim();StringsearchType=request.getParameter("searchType").trim();StringbackNews="";Connectioncon=null;Statementsql=null;Stringuri="jdbc:sqlserver://127.0.0.1:49924;DatabaseName=ticket";try{con=DriverManager.getConnection(uri,"sa","0630");sql=con.createStatement();Stringcondition="select*from电影where"+searchType+"like'%"+searchKey+"%'";ResultSetrs=sql.executeQuery(condition);if(rs.next()){inform.setHaibao(handleString(rs.getString(2)));inform.setPianming(handleString(rs.getString(4)));}con.close();RequestDispatcherdispatcher=request.getRequestDispatcher("searchFilm.jsp");dispatcher.forward(request,response);}catch(SQLExceptionexp){inform.setBackNews("buxing"+exp);}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}}以下是bean内容FilmInform.javapackageuser.yourbean;publicclassFilmInform{Stringhaibao,leixing,pianming,shangying,daoyan,zhuyan,guojia,pianchang,jianjie,backNews;publicvoidsetHaibao(Stringhaibao){this.haibao=haibao;}publicStringgetHaibao(){returnhaibao;}publicvoidsetLeixing(Stringleixing){this.leixing=leixing;}publicStringgetLeixing(){returnleixing;}publicvoidsetPianming(Stringpianming){this.pianming=pianming;}publicStringgetPianming(){returnpianming;}publicvoidsetShangying(Stringshangying){this.shangying=shangying;}publicStringgetShangying(){returnshangying;}publicvoidsetDaoyan(Stringdaoyan){this.daoyan=daoyan;}publicStringgetDaoyan(){returndaoyan;}publicvoidsetZhuyan(Stringzhuyan){this.zhuyan=zhuyan;}publicStringgetZhuyan(){returnzhuyan;}publicvoidsetGuojia(Stringguojia){this.guojia=guojia;}publicStringgetGuojia(){returnguojia;}publicvoidsetPianchang(Stringpianchang){this.pianchang=pianchang;}publicStringgetPianchang(){returnpianchang;}publicvoidsetJianjie(Stringjianjie){this.jianjie=jianjie;}publicStringgetJianjie(){returnjianjie;}publicvoidsetBackNews(StringbackNews){this.backNews=backNews;}publicStringgetBackNews(){returnbackNews;}}求问是哪里出错了,空白的页面应该就是这两个里的问题吧。。。我看了整个下午没发现哪里有错呀。。。急求帮助
解决方案
解决方案二:
是不是servlet里执行时卡住了
解决方案三:
补充下dianying.jsp里表单<formaction="helpSearchFilm"method=postonSubmit="returncheck()"><fieldsetclass="fieldset"><legendclass="legend">搜索信息信息填写</legend><pstyle="text-align:center">搜索电影关键字:<inputtype="text"name="searchKey"id="searchKey"value="请输入关键字"onClick="clearDefaultText(this,'请输入关键字')"onFocus="this.style.color='#000'"style="color:#999"/><selectname="searchType"size=1><optionselectdvalue="类型">类型<optionvalue="片名">片名<optionvalue="演员">演员<optionvalue="国家">国家</select><br/><inputtype="image"name="submit"id="submit"src="kechengshejiImagetijiao.png"></p></fieldset></form>searchFilm.jsp里要显示部分<divid="search"><jsp:useBeanid="searchFilm"class="user.yourbean.FilmInform"scope="request"/><p><jsp:getPropertyname="searchFilm"property="haibao"/></p><p><jsp:getPropertyname="searchFilm"property="pianming"/></p></div>
解决方案四:
引用1楼defonds的回复:
是不是servlet里执行时卡住了
应该是卡住了,但是我不知道究竟是什么原因,代码应该是有错才会卡吧
解决方案五:
我的其他需要用到servlet的都能正常运行
解决方案六:
在eclipse下?看看加断点了没
解决方案七:
引用5楼defonds的回复:
在eclipse下?看看加断点了没
不是,我是直接用notepad的
解决方案八:
引用5楼defonds的回复:
在eclipse下?看看加断点了没
哦哦,对了,如果表单没写method,那地址栏显示http://localhost:9090/kechengsheji/helpSearchFilm?searchKey=%E5%88%98%E5%BE%B7%E5%8D%8E&searchType=%E6%BC%94%E5%91%98&submit.x=97&submit.y=17但是表单谢了method=post,地址栏却只有http://localhost:9090/kechengsheji/helpSearchFilm,反而没有数据传递
解决方案:
牛啊,不用IDE。建议搞到IDE里头编译下吧。用肉眼挑错太累了。
解决方案:
引用8楼defonds的回复:
牛啊,不用IDE。建议搞到IDE里头编译下吧。用肉眼挑错太累了。
因为新手不想太多便利所以才。。。
解决方案:
debug看看,后台到没/
解决方案:
1估计后台报错了,看看后台是否有错误2如果有异常要报出来,别直接抓死如代码:catch(Exceptionee){}有异常你也找不到,建议用IDE编译,建议不要徒手写程序
解决方案:
引用10楼rui888的回复:
debug看看,后台到没/
新手不会用,网上找了看了还是不懂,找不到怎么配置
解决方案:
你是用post提交的吗?如果是post提交,地址栏怎么会有?searchKey=%E5%88%98%E5%BE%B7%E5%8D%8E&searchType=%E6%BC%94%E5%91%98&submit.x=97&submit.y=17?应该是没有才对。如果是get提交我认为有可能就是中文乱码的问题了
解决方案:
post地址栏还给你显示参数吗
解决方案:
引用13楼song_1990的回复:
你是用post提交的吗?如果是post提交,地址栏怎么会有?searchKey=%E5%88%98%E5%BE%B7%E5%8D%8E&searchType=%E6%BC%94%E5%91%98&submit.x=97&submit.y=17?应该是没有才对。如果是get提交我认为有可能就是中文乱码的问题了
没有我想错了,又不能改贴
解决方案:
楼主,你就在IDE中写吧,现在还不能断定到底进没进入这个servlet呢在IDE中用断点,也能看到异常到底在哪不知道是不是数据库连不上的问题啊