1.向客户端发送数据
getWrite();
getOutputStream();
package com.test; import java.io.IOException; import java.io.OutputStream; 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 org.apache.catalina.connector.OutputBuffer; /** * Servlet implementation class TestServlet */ @WebServlet("/TestServlet") public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public TestServlet() { 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.setCharacterEncoding("utf-8"); OutputStream os=response.getOutputStream(); //转换成二进制的数据 os.write("hello,world".getBytes()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request,response); } }
字符串送使用getWrite();
字节传送使用getOutStream()
这两个流不能够同时使用,为什么?
没有手动的关闭流,web服务器会检测帮忙关闭,主动关闭更好
2.SenRedirect可以实现重定向功能
当用户登录成功后显示到登录成功页面MainFrame.java
1.静态变量
自我实现截图:
2.使用SendRedirect,不能传递对象
修改ControlServlet.java
package com.controller; import java.io.IOException; import java.io.PrintWriter; 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.xml.ws.Response; import com.test.TestServlet; /** * Servlet implementation class ControlServlet */ @WebServlet("/ControlServlet") public class ControlServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ControlServlet() { 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 PrintWriter out=response.getWriter(); response.setContentType("text/html;charset=utf-8"); String username=request.getParameter("username"); String password=request.getParameter("password"); // System.out.println(username+password); //这里进行简单的认证 TestServlet.name=username; if("wangzhi".equals(username)&&"123456".equals(password)){ response.sendRedirect("/user/MainFrame?uname="+username); }else{ response.sendRedirect("/user/Loin"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request,response); } }
MainFrame.java
package com.view; import java.io.IOException; import java.io.PrintWriter; 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 com.test.TestServlet; /** * Servlet implementation class MainFrame */ @WebServlet("/MainFrame") public class MainFrame extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public MainFrame() { 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.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); String username=request.getParameter("uname"); out.println("<h1>主界面</h1>"+username); out.println("<a href='/user/Loin'>返回重新登陆</a>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request, response); } }
3.使用session传递,可以传递对象
package com.view; import java.io.IOException; import java.io.PrintWriter; 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 com.test.TestServlet; /** * Servlet implementation class MainFrame */ @WebServlet("/MainFrame") public class MainFrame extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public MainFrame() { 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.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); String username=request.getParameter("uname"); String username2=(String) request.getSession().getAttribute("loginuser"); out.println("<h1>主界面</h1>"+username); out.println("<a href='/user/Loin'>返回重新登陆</a>"); out.println(username2); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request, response); } }
package com.controller; import java.io.IOException; import java.io.PrintWriter; 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.xml.ws.Response; import com.test.TestServlet; /** * Servlet implementation class ControlServlet */ @WebServlet("/ControlServlet") public class ControlServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ControlServlet() { 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 PrintWriter out=response.getWriter(); response.setContentType("text/html;charset=utf-8"); String username=request.getParameter("username"); String password=request.getParameter("password"); // System.out.println(username+password); //这里进行简单的认证 TestServlet.name=username; if("wangzhi".equals(username)&&"123456".equals(password)){ request.getSession().setAttribute("loginuser", username); response.sendRedirect("/user/MainFrame?uname="+username); }else{ response.sendRedirect("/user/Loin"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request,response); } }
传递对象处理;
ControlServlet.java
package com.controller; import java.io.IOException; import java.io.PrintWriter; 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.xml.ws.Response; import com.test.TestServlet; /** * Servlet implementation class ControlServlet */ @WebServlet("/ControlServlet") public class ControlServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ControlServlet() { 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 PrintWriter out=response.getWriter(); response.setContentType("text/html;charset=utf-8"); String username=request.getParameter("username"); String password=request.getParameter("password"); // System.out.println(username+password); //这里进行简单的认证 TestServlet.name=username; if("wangzhi".equals(username)&&"123456".equals(password)){ request.getSession().setAttribute("loginuser", username); response.sendRedirect("/user/MainFrame?uname="+username); TestServlet user=new TestServlet(); user.setName(username); user.setPassword(password); request.getSession().setAttribute("userobj", user); }else{ response.sendRedirect("/user/Loin"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request,response); } }
MainFrame.java
package com.view; import java.io.IOException; import java.io.PrintWriter; 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 com.test.TestServlet; /** * Servlet implementation class MainFrame */ @WebServlet("/MainFrame") public class MainFrame extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public MainFrame() { 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.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); String username=request.getParameter("uname"); String username2=(String) request.getSession().getAttribute("loginuser"); //获取Session中的对象 TestServlet user=(TestServlet) request.getSession().getAttribute("userobj"); out.println("<h1>主界面</h1>"+username); out.println("<a href='/user/Loin'>返回重新登陆</a>"); out.println(username2); out.println("返回对象的结果"+user.getName()+user.getPassword()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request, response); } }