The server encountered an internal error ...怎么办?

HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exceptionjava.lang.NullPointerException
com.ascent.dao.LoginDAO.login(LoginDAO.java:27)
com.ascent.servlet.LoginServlet.Userlogin(LoginServlet.java:73)
com.ascent.servlet.LoginServlet.doGet(LoginServlet.java:42)
com.ascent.servlet.LoginServlet.doPost(LoginServlet.java:31)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.ascent.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:33)
noteThe full stack trace of the root cause is available in the Apache Tomcat/7.0.16 logs.Apache Tomcat/7.0.16

1.查看后说是服务器错误,然后查看了服务器日志,找到错误日志提示如下:

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://www.kfd-crusher.com
翻译:请求超过了10个内部重定向的限制,由于可能的配置错误。使用'LimitInternalRecursion'如果需要增加限。使用“将LogLevel调试”获得回溯,来源:http://www.kfd-crusher.com

内部重定向限制,跟重写模块有关,查看.htaccess文件,果然发现重写规则写错了;
修改过后就可以正常打开了。

注:很多情况是在本地做好的网站,上传后没有及时修改.htaccess文件,造成这种情况。

2.出现的原因:很可能是你的javabean文件(M层),没有生成CLASS文件(任何java语言只有通过编译生成字节码才能运行包括被其他的程序调用,在这里是被jsp<V层>调用)然后正确的放入规定的WEB—INF/classes文件夹下。(注意:如果引入包的话在usebean中一定记得指出包名,如:包名.类名)。


解决方法:将编译成功的CLASS文件放入指定的文件夹下(若引入包则放在包里)。

到这里应该你的表单输入能够完成数据的处理证明已经能够成功的和你的javaBean交互,你已经成功了一半。(如果你实现的是用户登录验证,你可以在你的JSP中通过选择(IF)一个在Bean文件中方法返回的用户名和密码错误(false)的信息判断,在浏览器中显示出来。注意:正确的用户验证只能在servle(控制层)中确定它的分支流向。)

最后在查看自己的javabean.jsp文件时,才发现原来自己的class文件夹下的usebean包的“包名.类名”钱少一个引号!!所以编程一定要细心!

温馨提示:答案为网友推荐,仅供参考
相似回答