一、Servlet向jsp页面传值
方法一:
利用request这个对象在Servlet中设置键值对,在jsp页面获取值
Servlet传值:
request.setAttribute("key", value);
jsp页面接收:
<% String s =(String)request.getAttribute( "key "); %>
注意:
1.key一定要一致;
2.不能用重定向方式跳转jsp页面;
3.request获取到的值是Object类型的需要强转
request.getRequestDispatcher("/…….jsp").forward(request, response);
方法二:
利用跳转Servlet:
response.sendRedirect("/…….jsp?username="+username);
jsp页面接收:
<% String s = (String) request.getParameter("username"); %>
二、jsp页面向Servlet传值
方法一:
通过超链接:jsp页面
<a href="AServlet?password=传输内容">文本</a>
Servlet接收:
String d = request.getParameter("password");
方法二:
通过form表单传传值:
jsp页面:
<form action="LoginServlet">
<input type="text" name="username">
<input type="text" name="password">
<input type="submit" value="登录">
</form>
Servlet接收:
String username = request.getParameter("username");
String password = request.getParameter("password");
方法三:
通过java代码传值,不建议这样写,后期维护很麻烦
三、Servlet向Servlet传值
方法一
通过session对象
HttpSession session = request.getSession();
session.setAttribute("user", user);
先获取session对象,再把值通过键值对传输
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
方法二:
直接跳转,和Servlet向jsp页面传值类似在跳转文件后面加值
response.sendRedirect("BServlet?username=qu");
接收:
request.getParameter("username");
四、jsp向jsp传值
传输:
<% request.setAttribute("username","username"); %>
<jsp:forward page="demo2.jsp"/>
接收:
<% String username = (String)request.getAttribute("username"); %>