servlet运行“/*”引起的java.lang.StackOverflowError
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.jd.login.UI.LoginUIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
若将servlet的url-pattern配置为“/*”时会拦截内部所有请求,使所有请求都由com.jd.login.UI.LoginUIServlet来处理,所以当项目跑起来后会出现栈溢出错误:java.lang.StackOverflowError
@WebServlet(name = "LoginUIServlet",value="/servlet/LoginUIServlet")
public class LoginUIServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//出现死循环,因为所有请求都被拦截
request.getRequestDispatcher("/WEB-INF/pages/login.jsp").forward(request,response);
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
栈溢出异常如下:

解决:
将web.xml中的servlet的url-pattern配置为具体的路径
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.jd.login.UI.LoginUIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/servlet/LoginUIServlet</url-pattern>
</servlet-mapping>
检验:
在浏览器中输入localhost/servlet/LoginUIServlet,结果如下

备注:在IDEA中跑起来的web项目,在浏览器中访问不要添加应用名称。
servlet运行“/*”引起的java.lang.StackOverflowError的更多相关文章
- ssh整合问题总结--运行项目时报java.lang.StackOverflowError(堆栈溢出)异常
今天在整合ssh项目中,碰到一个异常,当我提交购物车数据到订单时,浏览器报了一个这样的异常. 当时,我就吓坏了.尼玛,这不是内存溢出了吗?吓得我赶紧去检查了每一个有遍历语句的代码,结果没有发现一个死循 ...
- Android 运行 gson.toJson(object) 报java.lang.StackOverflowError异常
如以下的代码,运行后报java.lang.StackOverflowError错误: MusicSavedInfo musicSavedInfo=new MusicSavedInfo(currentS ...
- struts2 java.lang.StackOverflowError org.apache.struts2.json.JSONWriter
1. 问题描述: 页面通过异步访问action, action的方法通过map封装数据,struts的result的type设置为json,后台报错 六月 25, 2016 6:54:33 下午 ...
- 【转】java.lang.StackOverflowError
http://blog.csdn.net/g19920917/article/details/8765638 出现一个java.lang.StackOverflowError异常.弄了半天,又是问高手 ...
- org.springframework.web.util.NestedServletException : Handler processing failed; nested exception is java.lang.StackOverflowError
1 ,错误原因,循环冗余检查 result.setNearUsers(userList); Page page = new Page(); pag ...
- java 线程栈 & java.lang.StackOverflowError
网上搜索了一下,关于java的线程栈: JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K. JVM的内存,被划分了很多的区域: (来源:http://www.iteye.com/ ...
- java.lang.StackOverflowError 解决办法
java.lang.StackOverflowError com.sxt.servlet.servlet1.LoginServlet.doGet(LoginServlet.java:15) com.s ...
- java.lang.StackOverflowError报错
严重: Exception initializing page contextjava.lang.StackOverflowErrorat javax.servlet.http.HttpServlet ...
- 页面上使用 Thymeleaf 的内联js不当造成了 java.lang.StackOverflowError: null 问题
由于在页面上内联js使用不当,从而在从 Controller 跳转到页面时发生了以下错误: java.lang.StackOverflowError: null at org.thymeleaf.ut ...
随机推荐
- 怎样下载youtube的字幕
第一步:安装chrome浏览器 第二步:安装Tampermonkey扩展. google.com的页面 第三步:使用下面两个链接安装(点进去后点击安装此脚本即可)脚本1,脚本2
- JavaWeb-----实现第一个Servlet程序
1.Servlet简介 Servlet是在服务器端运行的一个小程序,实际上一个Servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内 存里的servl ...
- 缓存淘汰算法---LRU转
1. LRU1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”. ...
- 在Qt Quick中一个简单Hello World加载过程
Qt5基本类图: QQmlEngine QQmlEngine类提供了一个QML引擎,用于管理由QML文档定义的对象层次架构,QML提供了一个默认的QML上下文(根上下文,获取函数QQmlEngi ...
- django开发(一)
django基础 1.django配置模块的各文件作用 一般来说标红的文件是需要我们具体配置和修改等的文件 2.django项目和功能编写的步骤 注:上面是功能模块,下面是配置模块.配置和功能解耦分离 ...
- opencv学习之路(19)、直方图
一.概述 二.一维灰度直方图 #include "opencv2/opencv.hpp" #include<iostream> using namespace cv; ...
- 动态从数据库获取数据,省市县三级联动,有校验,导出Excel模板
话不多说,看效果图,直接上代码. sheet 商户表 hideSheet ,功能完成后隐藏的Sheet,用于储存下拉框中的信息,(以一定的规则将所需数据存储在表格中). 下面是代码 部分数据需要在导 ...
- gcc、make编译
一 arm-linux-gcc 常用参数 https://www.cnblogs.com/zhangpengshou/p/3587751.html 二 arm-linux-objdump常用参数 ht ...
- eclipse Oxygen2 4.7.2版本安装activiti插件,并兼容svn插件
附录,插件下载:链接:https://pan.baidu.com/s/138ChoXao1fALBzdOhJjdQg 密码:06fx 安装方法: 解压eclipse安装包,将eclipse-activ ...
- gets() 与 scanf() 的小尴尬
gets() 与 scanf() 函数相处呢有点小尴尬的,就是 gets() 在 scanf() 后边就爱捣乱.为什么呢,先了解它们两者之间的异同: 同: 都是可以接受连续的字符数据 并在字符结束后自 ...