Jobs(二) Servlet的配置
折腾了一会,终于实现了:在浏览器中输入数据,然后在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的配置的更多相关文章
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
原文:使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 摘要 讲解如何配置SpringMVC框架xml,以及如何在Tomcat中运行 目录[-] 文章已针对IDEA 15做了一定 ...
- Java第三阶段学习(十一、Servlet基础、servlet中的方法、servlet的配置、ServletContext对象)
一.Servlet简介 1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向 ...
- Java学习笔记之:Java Servlet环境配置
一.介绍 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 使用 ...
- Servlet传统配置方式和Servlet3.0使用注解的方式
一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: <servlet> <servlet-name ...
- DB数据源之SpringBoot+MyBatis踏坑过程(二)手工配置数据源与加载Mapper.xml扫描
DB数据源之SpringBoot+MyBatis踏坑过程(二)手工配置数据源与加载Mapper.xml扫描 liuyuhang原创,未经允许进制转载 吐槽之后应该有所改了,该方式可以作为一种过渡方式 ...
- Servlet生命周期 Servlet获取配置信息 ServletContext
一.Servlet生命周期 实例化 ——> 初始化 ——> 服务 ——> 销毁 出生:(实例化 然后 初始化)tomcat第一次访问,Servlet就出生(默认情况下) 活着:( ...
- Servlet开发技术,创建,以及Servlet的配置,web.xml的配置
直接上图,不废话!!! 第一:首先在Eclipse的包资源管理器中,单机鼠标右键,在弹出的快捷键菜单中选择“新建”/Servlet命令,在弹出的对话框中输入新建的Servlet所在的包和类名,然后单击 ...
- Servlet的配置
让 Servlet 能响应用户请求,必须将 Servlet 配置在 Web 应用中. Servlet 3.0 中有两中配置方式: 1. 在 Servlet 类中使用 @WebServle ...
- paip.spring3 mvc servlet的配置以及使用最佳实践
paip.spring3 mvc servlet的配置以及使用最佳实践 1. Web.xml 1 2. springMVC.xml 2 1. mvcAction .mvcAction 2 2. Res ...
- EMW 性能优化二之---并发配置
EMW 性能优化二之---并发配置 在前一个日志中写到交货的异步更新,对于RFUI RF的前台操作会提升效率,异步更新不用等待更新状态的返回,启用更新队列的方式执行(SM13). 下面再补全性能相关的 ...
随机推荐
- Oracle导入数据时出错ORA-39143:转储文件可能是原始的转储文件
dmp文件是使用exp命令导出的,所以使用impdp导入则会报错误. 正确的导入语句为:imp sde/salis@orcl file='E:\sde.dmp' full=y;
- FreeMarker学习(springmvc配置)
springMvc配置 <bean id="freemarkerConfig" class="org.springframework.web.servlet.vie ...
- Postgresql ALTER语句常用操作小结
postgresql版本:psql (9.3.4) 1.增加一列 复制代码代码如下: ALTER TABLE table_name ADD column_name datatype; ...
- 调用subprocess 使用logging打印日志
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Henry 17607168727@163.com import sys import lo ...
- SQL-W3School-基础:SQL UPDATE 语句
ylbtech-SQL-W3School-基础:SQL UPDATE 语句 1.返回顶部 1. Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 ...
- HDFS数据定期清理
HDFS数据清理一些办法: datanode数据做reblance清理临时目录.日志目录文件全量分区表历史分区清理使用lzo,orc格式进行数据压缩清理或者归档历史冷数据增加datanode横向扩容附 ...
- oracle数据库可视化工具
1.TreeSoft基于web网页方式,管理维护oracle数据,功能包括:SQL在线执行,数据在线维护管理,数据导出,数据交换同步等. 支持MySQL,Oracle,DB2,PostgreSQL,S ...
- django 之(五) --- RESTApi总结
RESTful django-rest-framework serializers 序列化工具.序列化与反序列化 级联模型 添加级联字段 nested 级联字段的key原来必须就是存在的 隐性属性.自 ...
- awk工具的基本用法
awk文本过滤的基本用法 1)基本操作方法 格式:awk [选项] '[条件]{指令}' 文件 其中,print 是最常用的编辑指令:若有多条编辑指令,可用分号分隔. Awk过滤数据时支持仅打印某一列 ...
- 在Ubuntu里搭建spark环境
注意:1.搭建环境:Ubuntu64位,Linux(也有Windows的,我还没空试) 2.一般的配置jdk.Scala等的路径环境是在/etc/profile里配置的,我自己搭建的时候发 ...