将置于WebContent的jsp,或者静态页面html,可以直接通过浏览器访问,不安全的。
而将jsp放置于WEB-INF下。则需要通过servlet转发或者重定向,不能直接被访问。
3.Servlet的线程安全问题
启动容器之后,为每个访客设置一个线程,形成多线程,每个线程都去调用这个servlet中的service方法,请求doget(),此时共同访问一个资源,由此引发线程不安全问题。
并发的原因在于,同一时间内对同一对象进行操作,有可能出现未将A过程处理完就去处理B过程,并将B过程的结果返回给A。
线程安全问题只存在多个线程并发操作同一个资源的情况下。
针对Servlet的线程安全问题,Sun公司是提供有解决方案的:让Servlet去实现一个SingleThreadModel接口,如果某个Servlet实现了SingleThreadModel接口,那么Servlet引擎将以单线程模式来调用其service方法。
4.在并发的情况下,sun给出的解决方案是实现SingleThreadModel接口,实现此接口之后,servlet引擎就会创建多个servlet实例对象,给每个请求分配一个servlet,这并不是真正解决多线程的安全问题。此接口已被标记为过时。