1.クライアントにデータを送信します
getWrite();
getOutputStream();
パッケージcom.test。 インポートにjava.io.IOException; インポートにjava.io.OutputStream; 輸入javax.servlet.ServletException; 輸入javax.servlet.annotation.WebServlet; 輸入javax.servlet.http.HttpServlet。 インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; 輸入org.apache.catalina.connector.OutputBuffer; / * * *サーブレット実装クラスTestServlet * / @WebServlet(" / TestServlet " ) パブリック クラスTestServletが延びるのHttpServlet { プライベート 静的最終長いのserialVersionUID =1L ; / * * * @seeのHttpServlet#HttpServletを() * / パブリックTestServlet(){ スーパー()。 // TODO自動生成コンストラクタスタブ } / * * * @seeのHttpServlet#のdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答) * / 保護された ボイドのdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)ServletExceptionがは、IOException {スロー // TODO自動生成方法スタブ response.setCharacterEncoding(" UTF-8 " )。 OutputStreamのOS =response.getOutputStream(); // 转换成二进制的数据 os.write(" こんにちは、世界" .getBytes()); } / * * * @seeのHttpServlet#のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答) * / 保護された ボイドのdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)ServletExceptionがは、IOException {スロー // TODO自動生成方法スタブ この.doGet(要求、応答) ; } }
getWrite()を使用して送信されたストリング。
バイトはgetOutStream()を使用して転送されます。
これら二つのストリームを同時に使用、そしてなぜすることはできませんか?
いいえマニュアルは、ストリームをシャットダウンしていない、ウェブサーバは、シャットダウンを助けるより良い閉鎖するためのイニシアチブをとる検出し、
2.SenRedirectは、リダイレクトを達成することができます
ログイン成功ページにユーザーログインに成功した後に表示する場合MainFrame.java
1.静的変数
スクリーンショット自己実現:
2. SendRedirectメソッド、オブジェクトを渡すことはできません
ControlServlet.javaを変更
パッケージcom.controller。 インポートにjava.io.IOException; 輸入てjava.io.PrintWriter; 輸入javax.servlet.ServletException; 輸入javax.servlet.annotation.WebServlet; 輸入javax.servlet.http.HttpServlet。 インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; 輸入javax.xml.ws.Response。 輸入com.test.TestServlet。 / * * *サーブレット実装クラスControlServlet * / @WebServlet(" / ControlServlet " ) パブリック クラスControlServletはHttpServletを{延び プライベート 静的最終長いですserialVersionUID = 1L 。 / * * * @seeのHttpServlet#HttpServletを() * / パブリックControlServlet(){ スーパー()。 // TODO自動生成コンストラクタスタブ } / * * * @seeのHttpServlet#のdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答) * / 保護された ボイドのdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)ServletExceptionがは、IOException {スロー // TODO自動生成方法スタブ PrintWriter アウト = response.getWriter()。 response.setContentType("text / htmlの;のcharset = UTF-8 " ); 文字列名 = request.getParameter(" ユーザ名" ); 文字列のパスワード = request.getParameter(" パスワード" ); // System.out.printlnは(ユーザ名+パスワード); / / 这里进行简单的认证 TestServlet.name = 名; 場合(" wangzhi " .equals(ユーザ名)&& " 123456 " .equals(パスワード)){ response.sendRedirect(" /ユーザ/メインフレームのuname = " +ユーザ名); } 他{ response.sendRedirect(" /ユーザ/ロース" )。 } } / * * * @seeのHttpServlet#のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答) * / 保護された ボイドのdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)ServletExceptionがは、IOException {スロー // TODO自動生成方法スタブ この.doGet(リクエスト、レスポンスを); } }
MainFrame.java
パッケージcom.view。 インポートにjava.io.IOException; 輸入てjava.io.PrintWriter; 輸入javax.servlet.ServletException; 輸入javax.servlet.annotation.WebServlet; 輸入javax.servlet.http.HttpServlet。 インポートのjavax.servlet.http.HttpServletRequest; インポートのjavax.servlet.http.HttpServletResponse; 輸入com.test.TestServlet。 / * * *サーブレット実装クラスメインフレーム * / @WebServlet(" /メインフレーム" ) パブリック クラスメインフレームHttpServletを拡張{ プライベート 静的最終長いのserialVersionUID = 1L 。 / * * * @seeのHttpServlet#HttpServletを() * / パブリックメインフレーム(){ スーパー()。 // TODO自動生成コンストラクタスタブ } / * * * @seeのHttpServlet#のdoGet(HttpServletRequestのリクエスト、HttpServletResponseの *応答) * / 保護された ボイドのdoGet(HttpServletRequestのリクエスト、 HttpServletResponseの応答)ServletExceptionがは、IOException {スロー // TODO自動生成方法をスタブ response.setCharacterEncoding(" UTF-8 " )。 PrintWriterのアウト =response.getWriter(); 文字列名 = request.getParameter(" は、uname " ); アウト .println(" <H1>主界面</ H1> " + ユーザー名)。 アウト .println(" <a href='/user/Loin'>返回重新登陆</a>の" ); } / * * * @seeのHttpServlet#のdoPost(HttpServletRequestのリクエスト、HttpServletResponseの *応答) * / 保護された ボイドのdoPost(HttpServletRequestのリクエスト、 HttpServletResponseの応答)ServletExceptionがは、IOExceptionがスロー{ //TODO自動生成方法スタブ この.doGet(リクエスト、レスポンス)。 } }
セッション転送を使用して3、オブジェクトが通過することができます
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); } }