折腾了一会,终于实现了:在浏览器中输入数据,然后在Java类中取出输出,并使浏览器重定向(接收一个request,返回一个response)。

  这里有几个问题需要详细记录一下。

  首先是request的发起处,即HTML中的form元素。form元素中的有两个属性是必填的:action和method。如下图:

<form action="test" method="get">
Personal Information:<br/>
Your Name:<br/>
<input type="text" name="userName" value="NoOne">
<input type="submit" name="Submit" value="搞定">
</form>

  首先,method属性代表request的提交方式,只能是GET或者POST,这是计算机网络中的基础知识,无需多言。

  而action属性,指明了当提交表单时,向何处发送表单数据。它可以填:

  • 绝对URL - 指向其他站点(比如 action="http://www.google.com"),当然,这里谷歌不会对你的请求做什么回应;
  • 相对URL - 指向站点内的文件(比如 action="test.htm"),或者是处理这些数据的对应的Servlet名(例如action="test",test是处理这些数据的一个servlet所映射的url,我在web.xml中已经映射好了,见下图);
    <servlet>
<servlet-name>indexServlet</servlet-name>
<servlet-class>org.bigo.IndexResponse</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>indexServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>

  这里使用的是相对URL,它是一个servlet,名字为indexServlet(servlet名可以自定义,因为我输入数据的页面为index.html),它所映射到的处理类(对request中的数据进行实际处理的Java类)为org.bigo包中IndexResponse.java。后面为映射配置,我指定了名为indexServlet的servlet,处理这样的request:request的请求URL为“http://www.xxx.com/aaa/.../test”。

  需要注意的是在servlet-mapping的url-pattern中,不能直接写为“test”,任何时候都不能省略斜杠,必须写“/test”。同时在HTML的form元素的action属性中,只能写action="test",而不能写action="/test“。(如果指定的是文件名,也同样如此,加上斜杠后,浏览器有不同的处理方式)

  我的Web应用的url为“http://localhost:8080/jobs/”,所以当在form中编写“action="http://localhost:8080/jobs/test",即填写的绝对url时,也能达到同样的目的。(那么如果这里在绝对URL后加了“/”呢?就会404)。

  这里也写个最佳实践:<url-pattern>元素值为“/aabbcc”,那么HTML的form的action属性用相对url就为“aabbcc”,二者都不要再添加多余的符号了。

  

  这里还需要注意的一个点是,我在IDE的HTML编辑页面,可以点击一个浏览器的logo直接显示一个html文件,IDE提供这个功能是为了方便即时查看页面,此时浏览器中的地址,并不会是你的web工程的地址,所以千万不要在这种情况下进行功能测试。只有在浏览器中输入自己web工程的url后,才会有正确的反馈。(我中间就这样出错了)

Jobs(二) Servlet的配置的更多相关文章

  1. 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

    原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定 ...

  2. Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)

    一.Servlet简介  1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...

  3. Java学习笔记之:Java Servlet环境配置

    一.介绍 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 使用 ...

  4. Servlet传统配置方式和Servlet3.0使用注解的方式

    一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: <servlet> <servlet-name ...

  5. DB数据源之SpringBoot+MyBatis踏坑过程(二)手工配置数据源与加载Mapper.xml扫描

    DB数据源之SpringBoot+MyBatis踏坑过程(二)手工配置数据源与加载Mapper.xml扫描 liuyuhang原创,未经允许进制转载  吐槽之后应该有所改了,该方式可以作为一种过渡方式 ...

  6. Servlet生命周期 Servlet获取配置信息 ServletContext

    一.Servlet生命周期 实例化 ——> 初始化 ——>  服务 ——>  销毁 出生:(实例化 然后 初始化)tomcat第一次访问,Servlet就出生(默认情况下) 活着:( ...

  7. Servlet开发技术,创建,以及Servlet的配置,web.xml的配置

    直接上图,不废话!!! 第一:首先在Eclipse的包资源管理器中,单机鼠标右键,在弹出的快捷键菜单中选择“新建”/Servlet命令,在弹出的对话框中输入新建的Servlet所在的包和类名,然后单击 ...

  8. Servlet的配置

    让 Servlet 能响应用户请求,必须将 Servlet 配置在 Web 应用中. Servlet 3.0 中有两中配置方式:        1. 在 Servlet 类中使用 @WebServle ...

  9. paip.spring3 mvc servlet的配置以及使用最佳实践

    paip.spring3 mvc servlet的配置以及使用最佳实践 1. Web.xml 1 2. springMVC.xml 2 1. mvcAction .mvcAction 2 2. Res ...

  10. EMW 性能优化二之---并发配置

    EMW 性能优化二之---并发配置 在前一个日志中写到交货的异步更新,对于RFUI RF的前台操作会提升效率,异步更新不用等待更新状态的返回,启用更新队列的方式执行(SM13). 下面再补全性能相关的 ...

随机推荐

  1. 安装openssh-server

    以前在服务器上装过openssh-server,今天突然想把台式机也打开ssh服务,结果忘了咋弄,稍微百度了一下就弄好了,备忘一下,以后就不用各种百度了. 第一步,安装openssh-server( ...

  2. 虚拟Linux系统使用Windows系统oracle数据库

    前提:本地oracle数据库能正常使用. 数据库:oracle 11g 虚拟机:VMware_workstation_full_12.5.2 本机系统:Windows 7 旗舰版 虚拟机系统:open ...

  3. Mybatis generator配置

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...

  4. Java-ZipUtil

    Zip 压缩工具类,不支持压缩空文件夹. 简单版 import java.io.FileOutputStream; import java.io.IOException; import java.ni ...

  5. ajax传参数json对象到后台获取

    类型1 var version = $("#version").val(); var ids[i] = ("127.0.0.1","192.168.1 ...

  6. python小白之字典使用笔记

    Python 字典(Dictionary)   字典是一种可变容器模型,且可存储任意类型对象. 每个键值 key=>value 对,用冒号 : 分割 每个键值对之间用逗号 , 分割 整个字典包括 ...

  7. CentOS7做ssh免密登录

    (1)实验环境 两台CentOS7: youxi1 192.168.1.6 youxi2 192.168.1.7 这里我将防火墙关闭进行实验,如果防火墙开启,请将端口加入到防火墙规则中. (2).目标 ...

  8. BAPI_GOODSMVT_CREATE物料凭证增强字段

    项目MSEG 的 BAPI 表增强结构  BAPI_TE_XMSEG 抬头MKPF 的 BAIP 表增强 BAPI_TE_XMKPF 1. 在结构BAPI_TE_XMSEG中appending str ...

  9. 五指MUD协议

    //MUD转义协议 #ifndef __WZMUD__ #define __WZMUD__ #define WZKEY "ZWUxMTIyMDAwMw==" #define ESA ...

  10. lnmp搭建-手动版

    参照链接:http://blog.csdn.net/bravemelon/article/details/64925499 centOS 下安装 Nginx yum -y groupinstall & ...