方法一<form action=url?参数=值></form> 1开始说第一个问题,路径问题 .主要是form表单对应的action里面的路径和web.xml里面的url-pattern里面的路径 下面说明几点 (1)web.xml里面的url-pattern里面的servlet映射, <url-pattern>/ServletTest</url-pattern> 这里第一个"/"表示的是工程目录.tomcat规定这里必须是"/"开头的.换句话说,这个"/"表示http://localhost:8080/ServletTest 这个目录... (2)在action里面.表示的是映射到的action <form action="/ServletTest/ServletTest" method="get"> 这里有"/"表示的也是绝对路径.但是这里的"/"表示的绝对路径是http://localhost:8080 不包括后面的工程名.这两个是不一样的.当然,你也可以写成相对路径,那么只要是这样 <form action="ServletTest" method="get"> 这里的相对路径表示的是Parameter.jsp所在的目录下的ServletTest这个映射.其实就是web.xml里面配置的那个url-pattern 我们必须明确,这里是action是要映射到谁..这里的action不是要映射到servlet的class文件,而是要映射到web.xml里面配置的那个url-pattern...我们配置的是http://localhost:8080/ServletTest/ServletTest 所以,我们的action也要指向这个路径.. 2 这里说明了通过form表单给servlet传递参数的问题.其实很简单,就是request.getParameter("...");.
方法二<a href="url?参数=值&参数=值"〉</a> <a href="getpass.jsp?uname=test">得到密码</a> 解析:url后面加?可以传好多参数。
方法三 重定向(response)<%response.sendRedirect("你要跳转的url1")%> request.getParameter eg:客户端发出URL:http://localhost:8080/jsp_04_servlet/servlet1?name=test 1)重定向request.getParamete("name")得到name=null; 2)请求分派 在servlet1。java中doPost()方法中的代码改成如下片段 //获取请求分派器: RequestDispatcher dispatcher=request.getRequestDispatcher("servlet2");//参数:url //将请求转发至指定路径的资源 dispatcher.forward(request,response);//实现服务器端跳转,跳到url,带本class的request和response 在servlet2中:request.getParamete("name")得到name=test;
方法四 请求域(request)属性传递对象数据 HttpServletRequest接口提供了几个方法用来操作请求(request)中存储的对象(String name,Object obj)。 (1)public void setAttribute(String name,Object obj); (2)public void getAttribute(String name,Object obj);都是成对出现,才能实现一次响应(请求-反应) eg:pg116
|
|