JSP和Servlet传递数据的几种方式

一.JSP把数据穿给Servlet

1、form表单:

         方法1

<form action="项目名/servlet名"  method="post或者get">

<input type="submit" name="ok" value="提交">

</form>

        方法2

<form name="form1" id="form1" action="项目名/servlet名"  method="post或者get">

<input type="button" name="ok" value="提交" onclick="submit()">

</form>

<script>

function submit(){

     $("#form1").submit();

}

</script>

2、url传值

<a id="a1" href="" ></a>

<script>

     $("#a1").attr("href","url?参数="+值);

</script>

二.Servlet把数据传给Jsp

a、重定向 ( Redirect)是路径的跳转,内容和 url都改变。不允许带 request参数( session参数可以),即不允许在servlet里给 request对象使用setAttribute方法传给下一页面。在 servlet里使用 response.sendRedirect(url) 方法。注意这里的 url前不带斜线 /,如 response.sendRedirect(”test.jsp“)

b、url转发 ( Forward)是页面的跳转,页面内容发生改变,url不变。可以带 request和 session参数。在 servlet里使用 getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)。而这里的url前需要带斜线 /,如getServletConfig().getServletContext().getRequestDispatcher(”/test.jsp“).forward(request, response)

推荐使用b,具体实现如下:

java代码:

String   a= "abccdefg "; 
request.setAttribute( "ValueA ",a); 
request.getRequestDispatcher( "网址/jsp页面 ").forward(request,response); 

jsp页面:

<%

String   s   =(String)request.getAttribute( "ValueA ");

%>

jsp页面就可以取出Servlet的值。

猜你喜欢

转载自blog.csdn.net/qq_38006520/article/details/81567379