zoukankan      html  css  js  c++  java
  • 【Servlet】常用技术web

    Servlet的概述
    什么是Servlet?;
    Servlet是在服务器端的一个小的java程序,接收和相应从客户端发送的请求.
    Servlet的作用:
    处理来自客户端的请求,并且对请求做出相应的响应。
    使用Servlet :(Servlet的简单案例:即入门)
    * 编写一个类实现Servlet的接口。
    public class servletTest01 implements Servlet{
    @Override
    public void service(ServletRequest request ,ServletResponse response)throws ServletException ,IOException{
    //System.out.println(" ");
    response.getWriter().println("hello Servlet...");
    }

    }
    【配置Servlet】到WEB服务器。(在WEB-INF目录下的web.xml中配置)
    如果创建的时候就是创建的servlet文件WEB项目自动配置;
    <!--配置Servlet -->
    <servlet>
    <!--Servlet的名称-->(可以自定义)
    <servlet-name>ServletTest01</servlet-name>
    <servlet-class>文件的目录(可在类名右键复制路径名)</servlet-class>
    </servlet>
    <!--配置Servlet的映射-->
    <servlet-mapping>
    <!--Servlet的名称-->(必须和上一个一致)
    <servlet-name>ServletTest01</servlet-name>
    <url-pattern>/servletTest01</url-pattern>(可以自定义但是跳转到页面必须填写这个名)
    </serlet-mapping>

    【Servlet】的应用(登录其他的雷同)
    分析: 1、设计一个登录页面。
    2、在登录页面上点击登录按钮提交到Servlet
    3、编写Servlet在Servlet中接收参数。
    4、调用业务层去数据库进行查询操作。(Servlet-->servlce层--->dao层(查询数据库返回数据利用Utils包))(domain层)。
    5、根据处理结果做出相应。

    代码实现思路:
    准备工作:1、引入jar包(mysql,c3p0,dbutils等)、创建数据库。
    2、创建包和类
    3、创建一个工具类JDBCUtils
    4、编写Servlet,Service,Dao.

    【Servlet的生命周期的】(比较重要的)
    生命周期:
    指的是一个对象从创建到销毁的过程。
    Servlet的生命周期:即Servlet对象从创建到销毁的过程。
    客户端第一次访问该Servlet的时候创建一个Servlet的对象,那么Serlet中的init的方法就会执行,
    任何一次从客户端发送的请求,那么服务器创建一个新的线程执行Servlet中的service方法为这次请求服务。
    service方法的内部根据请求的方式不同调用不同的doxxxxx的方法,当Servlet从服务器中移除或者关闭服务器的时候Servlet对象就会被销毁,
    destroy的方法就会执行。

    WEB开发中的路径问题(重要)
    相对路径: 不是以/开始的路径。
    *localhost:8080/项目名/文件名(Servlet、.html)

    绝对路径:
    通常都是/开始的路径.

    带工程名的路径(客户端的路径):
    不带工程名的路径(服务器端路径):
    【页面五秒钟跳转eg:代码实现】达到的目的:网站登陆成功后,隔5秒钟后跳转到成功的页面。
    分析:首先在登录成功后的代码的地方设置响应头 然后在编写一个成功后跳转的页面。

    //解决代码乱码的问题响应
    response.setContentType("text/html;charset=utf-8");
    response.Writer().println("<h1>登录成功!页面将在5秒后跳转</h1>")
    response.setHeader("Refresh","url= 要跳转的页面路径");
    }

    }
    步骤2:
    在页面hxml文件中编写跳转时间倒计时;5、4、3、2、1<技术>标签设置头信息<meta>标签
    <!DOCTYPE html>
    <html>
    <head>
    <meat charset="utf-8">
    <meat http-equiv="Refresh"content="5; url= 登录成功的.html">
    <script type="text/javascript" src="/WEB/js/jquery-1.11.3.min.js"></script>
    <title>Insert title here<title>
    <script type="text/javascript">
    $(function(){
    setInterval("changeTime()",1000);
    })
    var i =5;
    function changeTime(){
    //获得id为 s1的元素;
    i--;
    $("#s1").html(1);
    }
    </script>
    </head>
    <h1>登录成功!!!页面将在<span id="s1">5</span>秒后跳转!</h1>
    </body>
    </html>
    【ServletConfig】(了解即可)(获得初始化参数)
    【ServletContext】(Servlet中全部的内容ServletContext都了解.)(被多个用户共享)【域对象】
    ServletContext的作用和用途; 保存全局性信息和数据
    网站的访问次数:
    聊天室:
    概述(域对象):
    ServletContext:一个WEB应用只有一个ServletContext对象.服务器启动的时候,服务器为每个WEB工程创建一个属于自己项目的ServletContext对象.
    服务器关闭的时候或者项目从服务器中移除ServletContext才会被销毁.如果将值保存在ServletContext中.值就有一个作用的范围.所以这个对象称为”域对象”.

    我们可以使用这个对象存取数据,用这个对象存取的数据可以在整个WEB应用中获得。
    可以使用如下方法存取数据(域对象相关的方法)
    ServletContext对象的作用是在整个Web应用的动态资源之间共享数据!
    例如在AServlet中向ServletContext对象中保存一个值,然后在BServlet中就可以获取这个值,这就是共享数据了。

    方法名: 描述:
    setAttribute(String name, Object object) 向ServletContext中存储数据
    getAttribute(String name) 从ServletContext中取数据
    removeAttribute(name) 从ServletContext中移除数据

    如何获取sevletContext对象

    ServletConfig # getServletContext();
    GenericServlet # getServletContext();
    HttpServlet # getServletContext();
    HttpSession # getServletContext();【这里将在Session里面介绍】
    ServletContextEvent # getServletContext()【这里不多介绍】

    在Servlet中获取ServletContext对象:
    在 void init(ServletConfig config)中: ServletContext context= config.getServletContext();
    ServletConfig类的 getServletContext() 方法可以用来获取ServletContext对象;


    在GenericeServlet或HttpServlet中获取ServletContext对象:【不常用】

    ServletContext;用法API
    1.获得文件的MIME的类型. -- 文件上传和下载.
    String 类型 getMimeType(String file)
    2.获得全局初始化参数:
    3.作为域对象存取数据:(*常用*)
    void 类型 setAttribute(String name, Object object) 向ServletContext中存储数据
    void 类型 getAttribute(String name) 从ServletContext中取数据
    Object 类型 removeAttribute(name)

    4.读取WEB项目的文件:(***)
    inputStream 类型 getResourceAsStream(String path)
    String 类型 getRealPath(String path)

  • 相关阅读:
    #线段树,矩阵乘法#LOJ 3264「ROIR 2020 Day 2」海报
    #线段树#洛谷 4428 [BJOI2018]二进制
    #Trie#洛谷 7717 「EZEC-10」序列
    shell脚本生成双色球号码
    k8s的tomcat多pod session会话保持配置
    国产系统优麒麟系统使用
    grdi报错--grid的asm磁盘丢失处理方法
    centos7上安装oracle的sqlplus客户端
    linux挂载
    linux占用100%cpu的java处理
  • 原文地址:https://www.cnblogs.com/wzmd/p/6213390.html
Copyright © 2011-2022 走看看