补充问题:form时,什么情况下用get方法,什么情况下用post。
1、安全性要求比较高,数据量比较大,一定要选择post。如:注册。
2、数据很少,而且安全性要求不高,选择get。 如:查询详情。
----Jsp中的内置对象,如何在Servlet中获取并使用?
对于同一个会话,所有资源(包括jsp,servlet)公用同一个session,但是jsp可以直接使用session对象,但是servlet想使用,必须先获取这个session的引用,才能使用。
其他对象,如果在Servlet中使用,也需要获取后才能使用。
1、 out:
在jsp中,<% out.print(“呵呵”);% > //直接使用out对象
在servlet中,
PrintWriter out = response.getWriter();
out.print(“呵呵”);
2、 request和response:
在jsp中,
<% request.getParameters(“name”);% > //直接使用request或response对象
在servlet中,
doPost(HttpServletRequest request, HttpServletResponse response) { //可以用其他名字
request.getParameters(“name”);
//以参数的方式传过来,所以可以直接使用这个参数名
response.sendRedirect(“B.jsp”);
}
3、 session(对应的类是HttpSession ):
在jsp中,
<% session.setAttribute(“user”,u); % > //直接使用session对象
在servlet中,
HttpSession sess =request.getSession();
sess.setAttribute(“user”,u);
例子:
--------Login.jsp-------
<form method="post" action="loginservlet">
<input type="text" name="name"><br>
<input type="password" name="pwd"><br>
<input type="submit" value="登录"><br>
</form>
-------LoginServlet.java----------
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//获取session
HttpSession session = request.getSession();
//获取登录信息,并放入session
String u = request.getParameter("name");
String p = request.getParameter("pwd");
if (u.equals("1")&&p.equals("1")) {
session.setAttribute("user", u);
response.sendRedirect("success.jsp");
}else
{
response.sendRedirect("Login.jsp");
}
}
-------success.jsp----------
<%
Object o =session.getAttribute("user");
out.print(o.toString()+"欢迎你!");
%>
4、 application:
在jsp中,
<% application.setAttribute(“count”,num); % > //直接使用application对象
在servlet中,
ServletContext application = getServletContext();
application.setAttribute("user", u);
//在其他地方取值 Object o =application.getAttribute("user");
本文详细解释了HTTP请求中的GET与POST方法的应用场景,并介绍了JSP与Servlet中常见内置对象如out、request、session及application的使用方法。

5231

被折叠的 条评论
为什么被折叠?



