HTML表单标签:<form></form>

  属性:

    actoion:  提交到的地址,默认为当前页面

    method:  表单提交方式 有get和post两种方式,默认为get

    enctype:  文件上传时需要设置为multipart/form-data


Get:

  以get方式提交数据时,浏览器会把表单内容组织成一个查询字符串,变量间以&连接,然后以servlrt路径加"?"加查询字符串的形式获取服务器内容

  如:向某个Servlet提交两个参数a,b,组织后的URL为http://servltname/ServlrtTest?a=aValue&b=bValue

  然后Servlet中用HttpServletRequest对象通过方法getParameter("a")获取到aValue,b同理

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String flag = request.getParameter("flag"); //从HttpServletRequest对象中获取传递过来的值,queryAll或者delete
  BookService bs = new BookService();
  if("queryAll".equals(flag)) {
    List<Book> books = bs.queryAll();
    request.setAttribute("books", books);
    request.getRequestDispatcher("LibraryJsp/borrow.jsp").forward(request, response);
  }else if("delete".equals(flag)) {
    String id = request.getParameter("Id");
    Book book = bs.queryOne(id);
    bs.deleteBook(book);
    List<Book> books = bs.queryAll();
    request.setAttribute("books", books);
    request.getRequestDispatcher("LibraryJsp/borrow.jsp").forward(request, response);
  }
}

Post:

  以post方式提交时,表单内容不会显示在浏览器中。

  在doPost()中用getParameter()获取表单信息。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");     String flag = request.getParameter("flag");
    BookService bs = new BookService();
    if("queryByItem".equals(flag)) {
      String item = request.getParameter("item");
      String value = request.getParameter("value");
      List<Book> books = bs.queryByItem(item, value);
      request.setAttribute("books", books);
      request.getRequestDispatcher("LibraryJsp/borrow.jsp").forward(request, response);
    }
}

 Servlet之间的跳转:

  分为转向Forward、重定向Redirect、刷新Refresh

    转向:可以跳转到另一个Servlet,JSP,甚至WEB-INF下的另一个文件

    重定向:通过服务器端返回状态码来实现,客户端请求了两次服务器。

      301,302都表示重定向,301表示永久性重定向,302表示临时性重定向

    刷新:可以实现一段时间后跳转到另一界面,也可以刷新本页面。

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8"); String id = request.getParameter("username");
String password = request.getParameter("password");
LoginService ls = new LoginService();
User user = ls.Login(id, password);
if(!user.getUserId().isEmpty()) {
//登录成功后,请求转向
request.setAttribute("name", user.getUserId());
request.getRequestDispatcher("LibraryJsp/index.jsp").forward(request, response);
}else {
//登陆失败,重定向
response.sendRedirect("LibraryJsp/Login.jsp");
}
}

Servlet——提交表单信息,Servlet之间的跳转的更多相关文章

  1. Web jsp开发学习——Servlet提交表单时用法

     实现提交表单以后判断输入的信息是否符合条件    若符合条件   先新建servlet  Sevlet的两种声明方式,二选一即可  再到web.xml里注册   register.jsp就是表单的界 ...

  2. 【IDEA】HTML通过servlet3.0注解名提交表单到servlet类找不到页面的问题

    IDEA一时爽,摸不着头的BUG火葬场 这个问题困扰我整整一天一夜,先是代码检查路径设置找不出问题,后面换tomcat版不行,抱着侥幸心理换IDEA版本意料之中还是没解决问题. 都快想秃了最后终于完美 ...

  3. html提交表单到Servlet

    源码地址 https://github.com/YouXianMing/Java-Web-Study/tree/master/Servlet-Form 演示效果(注意post与get提交方式浏览器地址 ...

  4. name属性作用+使用$.post()取代name属性在提交表单信息中的作用

    name的用途 1)主要是用于获取提交表单的某表单域信息, 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input.select.textarea.框架元素(iframe.frame.  ...

  5. jsp文件放在webcontent子目录下提交表单给servlet报404错误解决办法

    新版的web项目已经不需要配置web.xml了,并且eclipse neon版本里面新建web项目时候,默认不会生成web.xml文件.我们也不需要手动添加该文件,因为内部为我们提供了最新的处理方式, ...

  6. Form提交表单后页面刷新不跳转的实现

    <form action="" id="" method="post" target="nm_iframe"> ...

  7. jquery实现ajax提交表单信息

    最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交.本人没有完整性学习jquery,基本上是现学现找,有点困难. 主要是扩展和拼接json转对象 很简单,附上代码: ; ...

  8. Servlet与JSP内置对象的对应关系、Servlet获取表单、Servlet路径跳转

    项目的根目录指的是webroot: 服务器内部跳转: 或者使用../:“..”代表回到上一级目录

  9. Yii表单模型使用及以数组形式提交表单数据

    按Yii文档里的描述,Yii在处理表单的一般过程是: 创建表单对应的模型类,设置字段验证规则 创建表单提交对应的action,处理提交的内容 在视图中创建表单form 在刚刚的一个小项目里,想使用aj ...

随机推荐

  1. poj_3253 Fence Repair

    Fence Repair Description Farmer John wants to repair a small length of the fence around the pasture. ...

  2. 详解Oracle DELETE和TRUNCATE 的区别

    原文地址:http://www.cnblogs.com/simplefrog/archive/2012/07/30/2615169.html 语法delete from aa truncate tab ...

  3. INCLUDE COMMON FILES IN HTML USING JQUERY

    Simple example for including common files in HTML. JQuery load() function is used for including comm ...

  4. NFS网络共享介绍与使用

    什么是NFS(网络文件系统)? NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.它的主要功 ...

  5. Tidb数据库报错:Transaction too large

    Tidb是一个支持ACID的分布式数据库,当你导入一个非常大的数据集时,这时候产生的事务相当严重,并且Tidb本身对事物的大小也是有一个严格的控制. 有事务大小的限制主要在于 TiKV 的实现用了一致 ...

  6. SQL Server:INFORMATION_SCHEMA.columns 与sys.columns 与 syscolumns对比

    sys.columns视图 sys.columns是SQL Server从2005版本起引入的新的系统级视图.相关链接如下: Mapping SQL Server 2000 System Tables ...

  7. PyQt5--GridLayout

    # -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...

  8. [Python2]介绍关于Uiautomator的watcher使用场景及使用方法

    [官方的介绍]: Watcher You can register watcher to perform some actions when a selector can not find a mat ...

  9. python第二十七课——os模块

    演示os模块中常用的属性和函数: 1.os模块: 作用:管理文件和目录 属性: os.name:返回系统类型 常用的windows系统 --> nt os.environ:返回当前系统所有的环境 ...

  10. BZOJ3155:Preprefix sum(线段树)

    Description Input 第一行给出两个整数N,M.分别表示序列长度和操作个数 接下来一行有N个数,即给定的序列a1,a2,....an 接下来M行,每行对应一个操作,格式见题目描述 Out ...