• Jsp — 内置对象request、response 配置servlet


    1. 访问动态网页

    使用URL实现页面访问:

       URL:统一资源定位符,即常说的网址;

          URL是唯一能识别Internet上具体的计算机、目录或文件夹的命名约定;

    组成:第一部分:协议

          第二部分:主机的IP地址,主机或端口号,是每台计算机的唯一标识;

          第三部分:项目资源的地址,如目录和文件夹名等。

    2. Jsp文件中的注释

    ① 在jsp中写java脚本使用<% %>来括起来

    ② 在jsp中如果要输出一个表达式使用<%= %>

    ③ 在jsp中如果要定义一个方法使用<%! %>

    ④ 在jsp中如果只注释html标签则使用<!-- -->注释,如果要注释java脚本之类的所有代码,则使用jsp注释<%-- %>

    3. Jsp内置对象 — request、response

    request主要是用来在页面间传值的。

    //获取请求数据之前,必须先写上,不管有没有中文,以防乱码
    request.setCharacterEncoding("utf-8");
    //获取用户名
    String userName=request.getParameter("userName");
    //获取密码
    String passWord=request.getParameter("passWord");
    //获取性别
    String sex=request.getParameter("sex");
    //获取爱好
    String hobby[]=request.getParameterValues("hobby");

       3.1   java跳转页面有两种方式:

               重定向:发送一次新的请求,地址栏会改变。

               response.sendRedirect();

    //在地址栏手动传值来获取值,但这种方法不适合用来传值,在不需要传值时使用。
    response.sendRedirect("page/welcome.jsp?userName="+userName+"&passWord="+passWord);

               转发:不会发生新的请求,直接将原来的请求转发到最终页,地址栏不会改变。

               request.getRequestDispatcher();

    //转发,用来传值。
    request.getRequestDispatcher("welcome.jsp").forward(request, response);

       【转发和重定向的区别】

    1)  重定向:不需要传值时使用。发生在客户端,地址栏会变化(因为重新发起了请求,原来的请求参数不会带过去)。

    2)转发:需要传值时使用。发生在服务器端,地址栏不会变化,原来的请求参数会议并带过去。

    4. 在web.xml里配置servlet

    1)配置如下:

    <!-- 配置欢迎启动页 -->
    <welcome-file-list>
       <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    
    <!-- 配置servlet -->
    <servlet>
      <servlet-name>logincheck</servlet-name>  <!-- 这里的名字可以随便起,但最好是自己能看得懂的 -->
      <servlet-class>com.jredu.servlet.LoginCheck</servlet-class>  <!-- 是LoginCheck.java的包路径 -->
       <load-on-startup>1</load-on-startup><!-- 当服务器启动的时候立马初始化servlet,参数必须是一个数字1,数字代表优先级 -->
    </servlet>
    
    
    <servlet-mapping>
      <servlet-name>logincheck</servlet-name>  <!-- 和上面的名字一样的 -->
      <url-pattern>/loginCheck</url-pattern>  <!-- /随便起名字,但跳转的是上面的包路径 -->
    </servlet-mapping>

    2)servlet的生命周期   三个方法:

          init():servlet初始化

          service():servlet正在服务

          distory():servlet被销毁了

    3)当需要传/取值时,如果需要传的不是单个值或者一个数组,当需要传一个列表时,通过request.setAtribute()来传值,再通过request.getAtribute()来取值。

          

  • 相关阅读:
    Setting up SystemC and Eclipse for C++ hardware simulation
    Linux操作系统实用教程(Fedora)
    Creating .deb to install bash script program
    tcp cubic代码分析
    Small chat software based on C++/qml (including source code)
    Is TCP PACING enabled by default on linux?
    tcp: avoid minRTT overestimation from delayed ACKs
    Ubuntu Linux操作系统(微课视频版)
    剑指 Offer 59 II. 队列的最大值
    剑指 Offer 68 II. 二叉树的最近公共祖先
  • 原文地址:https://www.cnblogs.com/yanglianwei/p/9065116.html
Copyright © 2020-2023  润新知