您的位置:首页 > 其它

调试升级版学生管理系统心得

2010-06-13 11:12 211 查看
调试心得:
1、此工程在Myelipse 下面不能够import进去,所以要新建一个studenttest工程,把所有的jsp放置于webroot下面。
webInf 下面的classes ,放置于 src下面。 其他的放置于webroot下面。
2、数据库配置,需要修改连接串,数据库名称,用户、密码等。在sqlbean.java中修改。
3、数据库配置好了,就可以看到了login.jsp。但是,此时,不能够进入,因为页面上使用的地址:action="http://localhost:8080/test/login_confirm"
要把test修改成成为studenttest,因为这是我自己建设的工程名称。
4、登陆进去后,发现了几个jsp报错,报错为:<jsp:useBean id="teacher" scope="page" class="stu.teacher"></jsp:useBean>
都是此处没有标签没有正确结束掉。还有就是无法识别相应的类teacher,因此我重新在src建立一个包,然后把那些java文件拖到此包下面,系统默认会把一些引入此类
进行修改,比如class="stu.teacher"就是自动修改的,同样class文件中的抬头也增加了"package stu;".
5、此时更严重的问题来了,就是
org.apache.catalina.core.StandardWrapperValve invoke网上总结的错误原因:

1.servlet或jsp中,重复调用response的 getOutputStream(),response.getWriter()方法
2.form表单里没有 method="post" action=""参数
3.看JDBC操纵数据库的代码,仔细看,例如调用的对象的属性为null。Connection conn=null; 之后之就调用了conn.??的方法

我的错误原因:session
String str = request.getParameter("IDd");
session.setAttribute("stid",str);
response.sendRedirect("update.jsp");----------->

update.jsp中 session.setAttribute("avg",avg);------------->

AvgScore avg = (AvgScore)session.getAttribute("avg");

session set的值和get的值要一致,比如都为"avg",这样才可以,平时要注意培养自己良好的编程习惯,代码编写清晰易读,对自己还是对别人都是一种尊重。
但是,我就思考,如果一个Servlet写错了或者调用错了,不可能所有的servlet不能使用,
所以,我就把原来可以运行的一个项目重新打开,看了一下web.xml配置,发现了问题,

<servlet>
<servlet-name>ClassSvlt</servlet-name>
<servlet-class>stu.ClassSvlt</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/ClassSvlt</url-pattern>
<servlet-name>ClassSvlt</servlet-name>
</servlet-mapping>

起初的是
<servlet>
<servlet-name>ClassSvlt</servlet-name>
<servlet-class>ClassSvlt</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/ClassSvlt</url-pattern>
<servlet-name>ClassSvlt</servlet-name>
</servlet-mapping>
我修改了此处,就把问题解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: