参考代码如下:
<html>
<head>
<title>Test</title>
</head>
<body>
<form
action="/user/loginServlet.do"
method="post">
username:<input
name="username"
id="username"
type="text"/>
<br/>
password:<input
name="password"
id="password"
type="password"/>
<br/>
<input
type="submit"
name="btnLogin"
value="Login"/>
</form>
</body>
</html>
在servlet中的配置:
<web-app>
<!--
...
-->
<servlet>
<servlet-name>PageName</servlet-name>
<jsp-file>/success.html</jsp-file>
</servlet>
<!--
...
-->
<servlet-mapping>
<servlet-name>
PageName
</servlet-name>
<url-pattern>/user/*</url-pattern>
</servlet-mapping>
<!--
...
-->
</web-app>
form表单的action 与url跳转是不一样的:form表单可以给后台传递数据,在后台直接可以用request对象去向前台请求数据。
form表单传递数据有两种方式:
method="post":这是传递大量数据时用的,在数据传递之前会先将数据打包,因此这种传递数据的方式会效率会比较慢,但是穿过的数据都能正确解析,因此传中文不会有乱码。
method="get":以URL传递的,因为地址栏长度有限,所以对数据量是有限制的,而且传递的数据必须是ASCCI码值范围内的,因此,传中文会有乱码,需特殊处理。
url跳转到action只能通过url的参数来传递数据,action?参数名=参数值&……,在后台也可以用request对象去向前台请求url的参数值(url传中文参数需要进行特殊处理)