jsp课堂笔记5 Java servlet

  1. servlet的创建
    1. servlet类就是一个包含javax.servlet.http包中的HttpServlet类
    2. 部署web.xml文件
      1. 在<sevlet>标签中创建
        1. <servlet-name>创建servlet的名字
        2. <servlet-class>标记用哪一个类来创建servlet
      2. 在<servlet-mapping>中创建请求该servlet的URL
        1. <servlet-name>已经创建的servlet的名字
        2. <url-pattern>/设置URL路径
  2. servlet工作原理
    1. servlet是javax.servlet包中HttpServlet类的子类的一个实例、由服务器负责创建并完成初始化工作。当多个用户请求一个servlet时,服务器为每个用户启动一个线程而不是启动一个进程,这些线程由服务器来管理,与传统的CGI为每个用户启动一个进程相比较,效率要高的多。
    2. 初始化servlet ,在servlet子类中重写init();只在第一次使用servlet时调用
    3. service(); 响应用户对servlet的请求,不同用户请求会在多线程中调用,互不影响
    4. destroy(); 当服务器终止服务时,比如关闭服务器等,destroy()方法会被执行,消灭servlet。
  3. jsp页面访问servlet:
    1. 如果web.xml文件中<servlet-mapping>标记的子标记<url-pattern>指定的请求servlet的格式是“/lookHello”,那么JSP页面请求servlet时,必须要写成 “lookHello”,不可以写成“/lookHello”,否则将变成请求root服务目录下的某个servlet。
  4. 共享变量:对于Servlet类所创建的servlet的,用户将共享该servlet的成员变量
  5. doGet和doPost:可以在Servlet类中重写doPost或doGet方法来响应用户的请求,这样可以增加响应的灵活性,并降低服务器的负担。
    1. doGet和doPost可以让servlet更加灵活,也就是原本的service函数的更细化
    2. 如果service和doGet和doPost同时存在,那么直接调用的是service
  6. 重定向与转发
    1. 重定向:response.sendRedirect("2.jsp");
    2. 转发:
      1. 得到RequestDispatcher对象:RequestDispatcher dispatcher=request.getRequestDispatcher("4.jsp");
      1. 转发:dispatcher.forward(request,response);
    1. 重定向和转发的区别可以看为是
      1. 重定向只是对处理结果后返回的页面,返回的页面没有get或post请求,就像登录成功后跳转到首页
      2. 转发是指把请求转移到另一个页面,也就是说改个URL而已,真正的被隐藏了
  7. session
    1. HttpSession session=request.getSession(true);    //获取用户的session对象
    2.  
 
 
posted @ 2020-07-12 23:54  浪波激泥  阅读(92)  评论(0编辑  收藏  举报