zoukankan      html  css  js  c++  java
  • Servlet_02 资源跳转

    总的知识点:

    1.小的知识点总结:

    alt + shift + r 重命名快捷键(可以给包和类以及项目重命名)

    有序列表 ol li 无序列表 ul

    type 格式

    text 是文本类型

    password 是密码口令

    submit 递交登陆 这三个都是固定格式

    name赋名 value 赋名 placeholder 占位符(只显示,不占位置)

    @WebServlet("/register")*///资源路径映射(注意斜杠一定要有)

    复制代码
    eg:
    <form action="login">
        <!--输入框     input 行标签 不能设置宽与高,不独占一行    
           type 格式,(在这里是选择格式)  text 是文本类型   password 是密码,口令   submit 递交登陆  这三个都是固定格式
             name赋名  value 赋名  placeholder  占位符(只显示,不占位置)
         -->
        <input type="text" name="username" placeholder="用户名/邮箱/手机号"><br>
        <input type="password" name="password" placeholder><br>
        <input type="submit" value="登录" ><br>
        <!--超链接 <a>  制定跳转的资源路径href   -->
        <a href="zuoye.html">忘记密码</a>
    </form>
    复制代码

    <form> 表单  录入数据,把数据传输给后端服务器

    action:执行url动作 请求的资源路径

    <input>标记是form表单标记中的一个高频使用的标记

      input 标记中type=submit 表达的是 想把from表单中的所有数据打包成from 形式提交给后端服务器

      <input> 标签规定了用户可以在其中输入数据的输入字段。

      <input> 元素在 <form> 元素中使用,用来声明允许用户输入数据的 input 控件。

      输入字段可通过多种方式改变,取决于 type 属性。

    如果type=button 那么该按钮就是一个简单的普通按钮,具备鼠标点击的功能

    这个是设置欢迎界面首页(在运行tomcat时第一个进入的页面)需要/和.html设置在web--> WEB-INF-->web.xml里面
    <welcome-file-list> welcome-file>/register.html</welcome-file> </welcome-file-list>

    2.资源跳转分为两种: 内部转发和重定项

    3.中文乱码问题

     

    首先是中文乱码问题

    这个是老师教的方法:

    步骤:

        1.打开ideal进入到工程主界面,关掉tomcat服务器
        2.打开本地的tomcat安装文件,找到logging.properties文件
          如果该文件中配置了java.util.logging.ConsoleHandler.encoding = GBK
          需要注释掉,ctrl + s 保存下
        3.找到ideal的导航栏中的help--》edit Custom VM Options  点击打开
          在该文件的最后一行添加-Dfile.encoding=UTF-8
        4.关掉ideal应用,重新打开进入工程主界面
        5.在run运行窗口中,移除以前的tomcat应用窗口,重新添加
        6.运行tomcat服务器,此时观察server窗口,Tomcat Localhost log窗口
            Tomcat Catalina log窗口是否中文正常,如果不行重新再来一次。 

    资源跳转:

    第一种:内部转发 属于服务器内部的动作,对于用户来说只请求了一次在服务器内部做了两次操作(服务A请求了服务B)对于用户来说并不知情所以在网址上 --- url并不会改变(地址不会发生改变)编码集UTF-8不管用(所以用GBK),

    理解方式:客户端向错误后台发起请求但是后台自动跳转到正确后台并在正确后台发回响应

    第二种:重定向 属于浏览器客户端的动作,对于用户来说请求了两次,服务器也给用户响应了两次,所以在网址上 URL会发生改变(地址发生了改变)

    理解方式:客户端向错误后端发起请求,错误后端响应客户端并指向正确后端,然后客户端再次向正确后端发起请求,正确后端发起响应。

    复制代码
    客户端信息:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    <form action="register">
    <!--输入框信息-->
    <input type="text" name="username" placeholder="用户名"><br>
    <input type="text" name="phone" placeholder="手机号"><br>
    <input type="text" name="email" placeholder="邮箱"><br>
    <input type="password" name="password" placeholder="密码"><br>
    <input type="submit" value="注册">
    </form>
    </body>
    </html>

     

    复制代码
    复制代码

    内部接收并响应反馈客户端:

    @WebServlet("/register")

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    //提供用户注册服务 http (http请求 - http响应)
    //请求:由浏览器客户端向后端服务器发起,有时会携带请求参数
    //响应:由后台服务器端向客户端浏览器发起,有时也会携带相应数据
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse)servletResponse;
    //设置编码字符集 防止中文乱码 ISO-8859-1 GB2312-->GBK(中国少数民族都有) UTF-8 Unicode
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    //接收客户端传输的参数值 ( request.getParameter("name属性值/参数名称"); )
    String username = request.getParameter("username");//用户名
    String phone = request.getParameter("phone");
    String email = request.getParameter("emeil");
    String password = request.getParameter("password");
    //回传数据 把后端的数据传输到前段浏览器页面中
    //h1-->h6 大标题---》小标题
    response.getWriter().write("用户名"+username+"<br>"+//类似输出的意思
    "手机号"+phone+"<br>"+
    "邮箱"+email+"<br>"+
    "密码"+password);

    }

  • 相关阅读:
    UVa 10474
    UVa 1339
    UVa 1368
    UVa 1585
    UVa 1586
    ACM中Java高效输入输出封装
    Ajax中Get请求与Post请求的区别
    AJAX——核心XMLHttpRequest对象
    PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
    PHP类方法重写原则
  • 原文地址:https://www.cnblogs.com/rosiness/p/13887710.html
Copyright © 2011-2022 走看看