servlet获取表单提交的数据、请求转发、请求包含、请求重定向

来源:互联网 发布:爱的归宿网络电影 编辑:程序博客网 时间:2024/03/28 22:37

1.创建一个DynamicWebProject,命名为yangguan.

2.创建一个form的html页面,命名为SetParameter.html,该文件具体内容如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>升级桌面快捷方式传递参数</title>
</head>
<body>
<form action="/yangguan/test/textBookId" method="post">
请输入textBookId:<input type="text" name="id"/>
<input type="submit" value="提交">
</form>
</body>
</html>


3.在src下创建一个package,命名为Servlet;

4.在包package下新建一个servlet类,命名为GetTextBookId.java;

5.在上述servlet的doGet方法中写如下代码:  在doPost中写上 doGet(request,response);

String textBookId = request.getParameter("id");


if(textBookId!=null&&textBookId.equals("amaker"))

{

//请求转发

request.getRequestDispatcher("/success.html").forword(request,response);

//请求包含

request.getRequestDispatcher("/success.html").Forword(request,response);

      //请求重定向

response.sendRedirect("http://www.baidu.com");

}

else

{

//请求转发

request.getRequestDispatcher("/failture.html").forword(request,response);

//请求包含

request.getRequestDispatcher("/failture.html").include(request,response);

      //请求重定向

response.sendRedirect("http://www.sohu.com");


}


System.out.println("textBookId:"+textBookId);       

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("textBookId:"+textBookId);         


上述代码说明:   System.out.println("textBookId:"+textBookId);  这是在控制台输出

out.println("textBookId:"+textBookId);  是在网页输出

6.配置web.xml,具体内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
  <servlet>
    <servlet-name>getTextBookId</servlet-name>
    <servlet-class>Servlet.GetTextBookId</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>getTextBookId</servlet-name>
    <url-pattern>/test/textBookId</url-pattern>
  </servlet-mapping>
</web-app>


7.将部署到tomcat;

8.启动上述tomcat;

9.在浏览器地址栏输入:http://localhost:8080/yangguan/SetParameter.html 回车即可 点击提交分别查看跳到的页面显示和控制台显示。

这是跳转页面的地址:http://localhost:8080/yangguan/test/textBookId


总结一:  文件SetParameter.html是放在项目yangguan--->WebContent--->SetParameter.html,所以在浏览器打开时候输入的地址是http://localhost:8080+项目名称+SetParameter.html;    延伸思考:如果文件SetParameter.html是放在项目yangguan--->WebContent--->test--->SetParameter.html下,则在浏览器应该输入的地址是http://localhost:8080+项目名称+test+SetParameter.html;

总结二: servlet类中from中的action值是/+项目名称+url-pattern

总结三: 一定要在doPost中写上 doGet(request,response);  因为html页面的method是post,执行的是servlet中的doPost方法,如果不在doPost中写上doGet(request,response); 则不会显示想要的页面输出和控制台输出的效果。


具体项目代码见本站上传资源yangguan_form.zip

http://download.csdn.net/detail/xiaxiaojing/8077815



0 0
原创粉丝点击