zoukankan      html  css  js  c++  java
  • Servlet

    * 继承HttpServlet后要重写doGet()、doPost()方法

    String userName = req.getParameter("userName");
    String password = req.getParameter("password");
    PrintWriter pw = resp.getWriter();
    if("admin".equals(userName)&&"123456".equals(password)){
    //req.getRequestDispatcher("success.html").forward(req, resp);
        resp.sendRedirect("success.html");
    }else{
    //req.getRequestDispatcher("fail.html").forward(req, resp);
        resp.sendRedirect("fail.html");
    } 

    * web服务器
        * 1:tomcat.是开源的并且是用java语言来编写。它是免费的。用于中小型的项目。
        * 2:weblogic,webSphere,用于中大型,它是收费的。

    * tomcat服务器的目录
        1. bin;放一些可执行程序。startup.bat 启动web服务器。
        2. conf:配置文件。server.xml:可以设置端口。web.xml配置文件。
        3. lib;第三方jar包。
        4. logs:日志文件。
        5. temp:临时文件。
        6. webapps:外界可以访问的目录。web工程就放在这个目录。
        7. work:缓存的。
    * 启动web服务器。
    * servlet:接收客户端的数据,并进行处理,再将响应的数据发送给客户端。它是用java程序,只是运行在服务器端。

    * 写一个Servlet的步骤

         1. 创建一个类,继承HttpServlet类。如果没有找到HttpServlet类,可以去tomcat的lib目录下复制servlet-api.jar包。复制到webcontent 目录下的lib目录下,再选中servlet-api.jar包,右击build-path,再选择add to build-path
        2. 重写一些方法。
                1:构造方法。第一次请求的时候服务器会创建一个对象,只创建一次。
                2:init方法。做一些初始化工作。只执行一次。
                3:doGet方法:处理get请求,每请求一次,调用一次。
                4:doPost方法:处理post请求,每请求一次,调用一次。
                5:destroy方法:销毁Servlet.比如当web服务器停止的时候,会执行。
        3. 找到Webcontent目录的,WEB-INF目录的web.xml文件。在web-app标记里。添加以下内容

    <servlet>
    <servlet-name>Myservlet(可以随便取)</servlet-name>
    <servlet-class>MyServlet(必须为包名.类名)</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Myservlet(跟servlet的servlet-name名一致)</servlet-name>
    <url-pattern>/myservlet(可以随便取,这个决定了地址的写法)</url-pattern>【这个要和html界面的action相同】
    </servlet-mapping>

        4. 给服务器端发送请求。在浏览器地址栏上:http://ip地址:端口号/web工程名/myservlet(web.xml中的url-pattern怎么写的 就输入什么)

    * <form action="login" name="form1" method="get">
    * servlet和servlet-mapping可以一对多,为了让url调用servlet里面的多个方法
    * 转发req.getRequestDispatcher("success.html").forward(req, resp);
    * 重定向resp.sendRedirect("success.html");

    *get和post请求
        1. 作用上。get主要是从服务器端取数据,如果客户端需要向服务器端发送数据,那么就用post    请求。
        2. 地址栏。get请求会将表单的数据追加在地址栏后面。post方式不会将表单数据追加在地址栏。
        3. 安全性。get请求会不安全的
        4. 传输的数据。get传输的数据比较小。post相对来说比get传输的数据要大一些。

    * 转发与重定向的区别
        1. 转发地址栏没有变化。重定地址栏上有变化。
        2. 转发是服务器内部的变化,跟客户端是没有关系,重定向相当于2次请求。
        3. 转发可以让数据在页面之间进行共享。但是重定向不行。

  • 相关阅读:
    14_java之变量|参数|返回值|修饰符
    NYOJ 202 红黑树 (二叉树)
    NYOJ 138 找球号(二) (哈希)
    NYOJ 136 等式 (哈希)
    NYOJ 133 子序列 (离散化)
    NYOJ 129 树的判定 (并查集)
    NYOJ 117 求逆序数 (树状数组)
    NYOJ 93 汉诺塔 (数学)
    HDU 2050 折线分割平面 (数学)
    天梯赛L2-008 最长对称子串 (字符串处理)
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/5243498.html
Copyright © 2011-2022 走看看