Servlet学习笔记(一)

1.什么是Servlet

    Servlet是sun公司开发的一门动态Web技术,servlet运行在Web服务器或应用服务器上,作为来自Web浏览器和Web服务器上的数据库的中间层,Sun在其ApI中向用户提供了Servlet接口,用户想实现动态向浏览器输出数据只需两个步骤:1.实现Servlet接口,2.将此java类部署到Web服务器上

2.Servlet能做什么

    接收浏览器数据(显示数据:表单     隐士数据:cookies,压缩文件等)

   对数据做处理:可能调用数据库,调用其他Web服务,直接处理等

   响应给客户端:显示数据(文档/图片/二进制文件等),隐士数据(设置cookies等)

3.Servlet生命周期

      构造方法(一个servlet只创建一个对象)--->init()实例化,执行一次---->service()方法,可多次执行 ----->destory()销毁

     一般实现Servlet接口 或继承HttpServlet

注意:servlet是多线程的   对共享数据操作有线程不安全问题    解决方法:加同步   或避免使用实例变量

同步(懂了)

扫描二维码关注公众号,回复: 2657049 查看本文章
public class ConcurrentTest extends HttpServlet {
 2     PrintWriter output;
 3     @Override
 4     protected void service(HttpServletRequest request, HttpServletResponse response)
 5             throws ServletException, IOException {
 6         String  username;
 7         response.setContentType("text/html;charset=gb2312");
 8         username=request.getParameter("username");
 9         synchronized(this){
10             output=response.getWriter();
11             try {
12                 //为了突出并发问题,在这设置一个延时
13                 Thread.sleep(5000);
14                 output.println("用户名:"+username+"<BR>"); 
15             } catch (Exception e) {
16                 e.printStackTrace();
17             }
18         }
19     }
20 }
避免实例变量(没看懂)
 public class ConcurrentTest extends HttpServlet {
 2     @Override
 3     protected void service(HttpServletRequest request, HttpServletResponse response)
 4             throws ServletException, IOException {
 5         PrintWriter output;
 6         String username;
 7         response.setContentType("text/html;charset=gb2312");
 8         username=request.getParameter("username");
 9         synchronized(this){
10             output=response.getWriter();
11             try {
12                 //为了突出并发问题,在这设置一个延时
13                 Thread.sleep(5000);
14                 output.println("用户名:"+username+"<BR>"); 
15             } catch (Exception e) {
16                 e.printStackTrace();
17             }
18         }
19     }
20 }

猜你喜欢

转载自www.cnblogs.com/hs5201314tx/p/9452619.html
今日推荐