servlet里的路径问题和线程安全问题

1.路径问题

<a href="">
<form action="">
response.sendRedirect("")
request.getRequestDispatcher("")

(1)什么是相对路径?

不以"/"开头的路径。

(2)什么是绝对路径?

以"/"开头的路径。

(3)如何写绝对路径?

链接、表单提交、重定向从应用名开始写(包含应用名);转发从应用名之后开始写(不包含应用名)。

注:不要将应用名直接写在路径里面,而是使用String request.getContextPath()来获得实际部署时的应用名。这样如果应用名修改不必修改代码

(4)小结

在实际应用当中,应该优先使用绝对路径,易写,并且好维护。

2.Servlet的线程安全问题

(1)为什么说Servlet会有线程安全问题?

a.容器只会创建一个Servlet对象。
b.容器收到一个请求,就会启动一个线程,由这个线程来处理接下来的工作(调用Servlet的service方法)。这样,就有可能有多个线程同时调用同一个Servlet对象的service方法,就有可能产生线程安全问题(比如,这些线程同时去修改某个属性)。

在这里插入图片描述

(2)如何解决?

使用synchronized对有可能产生线程安全问题的代码块加锁。

注:
加锁会影响性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值