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. 前端构建工具Gulp使用总结

    1.安装准备 1.1 Node.js安装 在安装Gulp之前首先的安装Node.js, 安装教程详见Node.js 安装配置 1.2 npm安装 在安装node的时候会自动安装npm模块管理器,详见n ...

  2. 团队项目个人进展——Day07

    一.昨天工作总结 冲刺第七天,学习了微信小程序中WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接. 二.遇到的问题 对 ...

  3. WebAPI返回时间数据不带T

    最近一段时间项目里面使用WebAPI比较多,但是在返回时间数据的时候回默认带上T,就像这样子 "2016-04-21T13:26:17.4701811+08:00", 这样的数据在 ...

  4. 安装SQL sever2008时显示重新启动计算机规则失败,应该怎么解决?

    1.删除注册表:在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到 PendingFileRenameOpe ...

  5. web导出excel文件的几种方法

    总的来说,两种方法:服务器端生成和浏览器端生成. 服务器端生成就是:根据用户请求,获取相应的数据,使用poi/jxl, jacob/jawin+excel,或是用数据拼html的table或是cvs纯 ...

  6. python爬虫_入门_翻页

    写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了 其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633. ...

  7. 大话存储 3 - 七种磁盘RAID技术

    RAID技术 Redundant Array of Independent Disks 由独立的磁盘组成的具有冗余特性的阵列. 有两个特性: 阵列:需要很多磁盘来组成 冗余:允许某块磁盘损坏之后,数据 ...

  8. FinalShell使用---Xshell的良心国产软件

    最近发现了一款同类产品FinalShell,还是一块良心国货.初步体验了一下,确实是良心之作.且免费(通用版),支持国货. FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还 ...

  9. EXI6.0的安装(找不到网卡、找不到磁盘)

    给一台华为2488 V5 服务器安装EXI6.0服务 (问过华为售后不支持EXI5.5的安装,建议EXI6.0及以上版本) 根据界面提示信息按“Del”.进入BIOS设置界面 参考博客地址:https ...

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

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