サーブレットのdoGet()とdoPost()の違い
Difference Between Servlets Doget
doGet()は、URLの後にhttp:// localhost:8080 / test?username = zhangsan&password = lisiなどの文字列を表示します。
これは非常に安全ではありません。そして、doPost()はしません。
また、getメソッドの利点は、送信されたページがhistory.back()を渡すことができることです。ただし、投稿データはできません。ロールバックすると、有効期限が切れていることがわかります。
比較的言えば。 goGet()のデータ量はdoPostよりも少なくなります。
一般に、DOPOSTを使用してFROMフォームを処理し、DOGETを使用してAHREFを処理します。使用するメソッドについては。ページで方法を設定できます。
適用時にネストされたメソッドを使用することもできます。与えられた例:
サーブレット:test.java
package cn.com.leadfar
import java.io.IOException
import java.io.PrintWriter
import java.util.Date
import javax.servlet.ServletException
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
public class test extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String username =req.getParameter('username')
String password =req.getParameter('password')
System.out.println(username)
System.out.println(password)
resp.setCharacterEncoding('utf8')
resp.setContentType('text/html')
resp.getWriter().println('Login succeeded')
}
@Override
/** The following is a nested method
*
*/
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp)
}
}
index.jsp
Username:
Password:
また。コンソール出力が文字化けしている場合にdoGet()メソッドがある場合。 tomcat / binディレクトリのservice.xmlを変更してから、ctrl + fを変更して、現在のポートを見つけます。たとえば、8080です。次に、8443の後にURLEncoding = 'UTF-8'を追加して解決します。