哪里有错误

来源:3-3 用户会话Session对象

cj啦啦啦啦

2019-12-13 11:11:40

package com.imooc.session;


import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.ServletResponse;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;


/**

 * Servlet implementation class SessionIndexServlet

 */

@WebServlet("/session/index")

public class SessionIndexServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public SessionIndexServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.getWriter().append("Served at: ").append(request.getContextPath());

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

HttpSession session=request.getSession();

String name=(String)session.getAttribute("name");

response.setContentType("text/html;charset=utf-8");

response.getWriter().println("这是首页,当前用户名为:"+name);

}


}

package com.imooc.session;


import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;


/**

 * Servlet implementation class SessionLoginServlet

 */

@WebServlet("/session/login")

public class SessionLoginServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public SessionLoginServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.getWriter().append("Served at: ").append(request.getContextPath());

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    System.out.println("用户登录成功");

HttpSession session=request.getSession();

session.setAttribute("name", "张三");

//request.getRequestDispatcher("/session/index").forward(request,response);

response.getWriter().println("这是首页,当前用户名为:");

}


}

http://img.mukewang.com/climg/5df3015809d4d51f03250088.jpghttp://img.mukewang.com/climg/5df3015809d4d51f03250088.jpghttp://img.mukewang.com/climg/5df3015809d4d51f03250088.jpghttp://img.mukewang.com/climg/5df3015809d4d51f03250088.jpg

写回答

1回答

好帮手慕酷酷

2019-12-13

同学你好,这里是直接通过URL方式发送请求,所以要将设置session获取session的代码编写在doGet()方法中。而同学写在了doPost方法中,所以不正确。

具体如下:

http://img.mukewang.com/climg/5df348f7099fcbf613440353.jpg

http://img.mukewang.com/climg/5df34973099024f611520288.jpg


修改后的代码如下:

package com.imooc.session;



import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.ServletResponse;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;



/**

 * Servlet implementation class SessionIndexServlet

 */

@WebServlet("/session/index")

public class SessionIndexServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public SessionIndexServlet() {

        super();

        // TODO Auto-generated constructor stub

    }



	/**

	* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

	*/

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		// TODO Auto-generated method stub

		HttpSession session=request.getSession();

		String name=(String)session.getAttribute("name");

		response.setContentType("text/html;charset=utf-8");

		response.getWriter().println("当前用户名为:"+name);

	}



	/**

	* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

	*/

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		

	}



}
package com.imooc.session;



import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;



/**

 * Servlet implementation class SessionLoginServlet

 */

@WebServlet("/session/login")

public class SessionLoginServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public SessionLoginServlet() {

        super();

        // TODO Auto-generated constructor stub

    }



	/**

	* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

	*/

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		// TODO Auto-generated method stub

		System.out.println("用户登录成功");

		HttpSession session=request.getSession();

		session.setAttribute("name", "张三");

		//request.getRequestDispatcher("/session/index").forward(request,response);

		response.getWriter().println("这是首页,当前用户名为:");

	}



	/**

	* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

	*/

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	    

	}



}

结果如图:

http://img.mukewang.com/climg/5df349a4098e6aa305760122.jpg

如果我的回答解决了你的疑惑,请采纳!祝:学习愉快!

0

0 学习 · 9666 问题

查看课程