- 浏览: 3594 次
- 性别:
- 来自: 南京
最新评论
文章列表
Servlet容器处理多个请求
- 博客分类:
- web文档
概念
工作者线程Work Thread:执行代码的一组线程。
调度线程Dispatcher Thread:每个线程都具有分配给它的线程优先级,线程是根据优先级调度的。
Servlet采用多线程来处理多个请求同时访问,servlet依赖于一个线程池服务请求。线程池实际上是一系列的工作者线程集合。Servlet采用调度线程来管理工作者线程。
当容器收到一个Servlet请求,调度线程从线程池中选出一个
Servlet的线程安全
- 博客分类:
- web文档
1. 变量的线性安全:这里的变量指字段和共享数据(如表单参数值)。
将参数变量本地化。多线程并不共享局部变量,所以要尽可能地在servlet中使用局部变量。例如:String user=request.getParameter("user");
使用同步块Synchronized,防止可能异步调用的代码块,这就意味着线程需要排队处理。但要注意在使用同步块的范围要尽可能的小,不要直接在sevice方法和响应方法上使用,这样会严重影响性能。
2. 属性的线性安全:ServletContext,HttpSession,ServletRequest对象中的属性。
S ...
Servlet容器对url的匹配过程
- 博客分类:
- web文档
Servlet容器对url的匹配过程
精确路径匹配。例子:比如servletA 的url-pattern为 /test,servletB的url-pattern为 /* ,这个时候,如果我访问的url为http://localhost/test ,这个时候容器就会先 进行精确路径匹配,发现/test正好被servletA精确匹配,那么就去调用servletA,也不会去理会其他的servlet了。
最长路径匹配。例子:servletA的url-pattern为/test/*,而servletB的url-pattern为/test/a/*,此时访问http://localhost/te ...
1.问题描述
在8*8国际象棋棋盘上,要求在每一行放置一个皇后,且能做到在竖方向,斜方向都没有冲突。国际象棋的棋盘如下图所示:
2.分析
采用逐步试探的方式,先从一个方向往前走,能进则进,不能进则退,尝试另外的路径。首先我们来分析一下国际象棋的规则,这些规则能够限制我们的前进,也就是我们前进途中的障碍物。一个皇后q(x,y)能被满足以下条件的皇后q(row,col)吃掉
1)x=row(在纵向不能有两个皇后)
2) y=col(横向)
3)col + row = y+x;(斜向正方向)
4) col - row = y-x;(斜向反方向)
遇到上述问 ...