Form表单提交常见问题

作者: 清枫_小天 | 来源:发表于2016-07-07 18:39 被阅读1142次

Form表单的提交

  • 涉及的常识问题:
    http://localhost:8888/浏览器中输入这个地址默认的访问是你Tomcat中webapps目录下的文件。
    http://localhost:8888/Hello访问的是webapps下Hello目录中的文件

  • 新建一个jsp文件。body代码如下:

      <body>
      这是我们的第一个web项目
      <form action="sessionOne" method="post"></form>
      <input type="text" name="username">
      <input type="submit" value="提交">
    

    </body>

Form表单的提交

我们在SessionOne的Servlet中,先拿到你在form表单里的数据通过如下方式;
在doPost中代码如下:

     tring name = request.getParameter("username");
    String sex = request.getParameter("gender");
    String[] hobby = request.getParameterValues("hobby");
    PrintWriter printWriter = response.getWriter();
    printWriter.println("name:"+name);
  1. 提交方式
    有form表单里面的Method属性控制
    GET:(安全性不高)最多只能提交256个字符
    把数据放在协议的头部
    可以在浏览器里的地址栏里面看到的
    POST
    协议的体部
    不可以在浏览器的地址栏里面看到的
    安全性高
    数据的长度是没有限制的
    想要使用post提交,必须明确指定使用post提交,否则默认都用get
  2. 乱码问题
    原则:字符从编写到显示都采用一种编码方式
    UTF-8  GBK GB2312
  • 控制字符编写的编码:工程右击->Text file enconding ->GBK,UTF-8

  • 数据传输上控制(如果是Get方式提交就必须在servers下面的server.xml中的Connector修改也就是查看端口号那里。

         request.setCharacterEncoding("GBK");
         response.setCharacterEncoding("GBK");
    
  • 浏览器显示编码

  • 数据库中的乱码:存的时候是什么编码方式,那么取得时候就是什么编码方式

  1. 路径问题

我们常需要在form表单中进行跳转,跳转的时候写的Action就设计到路径问题还有就是在Servlet进行内部跳转(获取分发器时)也会涉及到路径问题比如(如下代码)。

 getServletConfig().getServletContext()
    .getRequestDispatcher("/WEB-INF/jsp/register.jsp")
    .forward(request, response);
  • 相对路径:相对点
  • 绝对路径:以“/”开头,
    当/在web应用的前端,代表的Tomcat的路径
    如:html
    当/在web应用的后台,代表web后台的路径
  1. 跳转问题

    • 内部跳转

         context
         request
         .getRequestDispatcher("WEB-INF/jsp/first.jsp")
         .forword(req,resp);
      
    • 路径

      • 绝对 /开头
        后台(内部分发如servlet) / =>项目根目录(webcontent)
        前台 / =>服务器根目录(webapps)

          (重定向跳转)
          response.sendRedirector("/");
          <form action="/"></form>
          <a href="/"></a>
        
      • 相对
        相对当前文件(jsp,html..)或者当前Servlet所在的命名空间

                a.jsp{
                <a href="/loginServlet">aa</a>
                }
        * 点击aa跳转后的路径是  
        `http://localhost:8888/loginServlet`   

@WebServlet("/toFirstServlet")
toFirstServlet{
//内部跳转
//request.getRequestDispatcher("/a.jsp");
response.sendRedirector("/a.jsp");
}

  • forward()
    重置response输出流
  • include()
    在上一个response输出流上进行内容追加

相关文章

  • Web中的常用的两种表单验证

    今天介绍下web开发中常用的两种表单验证,form提交和ajax提交 form提交 表单是通过form提交时,用户...

  • 关于post与ajax post的数据类型

    form表单提交 传统的form表单提交只需要一个form标签,指定action、method='POST',并期...

  • 2019-03-04 表单,标签笔记

    1.如果form表单里没有提交按钮则无法提交这个form(除非用js 2.form表单里若没有提交submit按钮...

  • Ajax提交form表单

    ajax提交form表单

  • From表单提交数据的几种方式

    目录 1,Form表单的常用属性2,浏览器提交表单时执行步骤3,提交方法4,常见的几种提交方式 form表单常用属...

  • Form表单提交常见问题

    Form表单的提交 涉及的常识问题:http://localhost:8888/浏览器中输入这个地址默认的访问是你...

  • 02_html&css

    HTML 表单标签

    form标签属性action:表单提交的路径,可以是html,也可以...

  • form表单和ajax文件上传

    通过传统的form表单提交的方式上传文件: 名称 文件 不过传统的form表单提交会导...

  • 2019-10-24 表单标签

    今天学习了html表单 HTML表单(

    标签) 属性: 1 action:决定表单提交的地...

  • form表单

    form表单的作用form用于把用户输入的数据提交到后台 name:表单提交时的名称action:提交到的地址...

网友评论

  • yanerly:还是不太清楚什么时候用绝对路径,什么时候用相对路径
    清枫_小天:@yanerly 试一下就看浏览器地址栏就知道了。

本文标题:Form表单提交常见问题

本文链接:https://www.haomeiwen.com/subject/kmuljttx.html