servlrt中使用内置对象

来源:互联网 发布:手机端图片点击放大js 编辑:程序博客网 时间:2024/06/16 08:44

补充问题:form时,什么情况下用get方法,什么情况下用post

1、安全性要求比较高,数据量比较大,一定要选择post。如:注册。

2、数据很少,而且安全性要求不高,选择get。 如:查询详情。

 

----Jsp中的内置对象,如何在Servlet中获取并使用?

对于同一个会话,所有资源(包括jspservlet)公用同一个session,但是jsp可以直接使用session对象,但是servlet想使用,必须先获取这个session的引用,才能使用。

 

其他对象,如果在Servlet中使用,也需要获取后才能使用。

1、 out

jsp中,<%  out.print(“呵呵”);% >  //直接使用out对象

servlet中,

PrintWriter out = response.getWriter();

out.print(“呵呵”);

2、 requestresponse

jsp中,

<% request.getParameters(“name”);% >  //直接使用requestresponse对象

servlet中,

doPost(HttpServletRequest request, HttpServletResponseresponse) {  //可以用其他名字

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");