首頁 > 軟體

JavaWeb實現表單提交的範例詳解

2022-03-19 13:01:03

register.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>register.html</title>
</head>
<body>
	<center><h1>登入檔單</h1></center>
	<center>
		<form action="register" method="get">
			使用者名稱:<input type="text" name="username"/><br/>
			密碼:<input type="password" name="pwd"/><br/>
			
			 請選擇感興趣的研究方向:
              <label for="01">人工智慧</label>
              <input type="checkbox" name="interest" value="AI" id="01" />
              <label for="02">機器學習</label>
              <input type="checkbox" name="interest" value="ML" id="02" />
              <label for="03">自動駕駛</label>
              <input type="checkbox" name="interest" value="AutoDrive" id="03" />
              <label for="04">網路安全</label>
              <input type="checkbox" name="interest" value="Network" id="04" />
              <br/>&nbsp;<input type="submit" name="smt" value="提交"/>
		</form>
	</center>
</body>
</html>

RegisterServlet.java

package request;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class RegisterServlet extends HttpServlet{

	//調出doGet方法
	protected void doGet(HttpServletRequest req,HttpServletResponse res)
			throws ServletException,IOException {
		//使用req接收請求引數
		String strName=req.getParameter("username");
		//處理中文亂髮問題
		byte[] bs=strName.getBytes("iso8859-1");
		String name=new String(bs,"utf-8");
		System.out.println(name);
	}
	//調出doPost方法
	protected void doPost(HttpServletRequest req,HttpServletResponse res)
			throws ServletException,IOException {
		//設定請求引數中的編碼
		req.setCharacterEncoding("utf-8");
		//使用req接收請求引數
		String strName=req.getParameter("username");
		System.out.println("strName");
	}
	//調出service方法
	protected void service(HttpServletRequest request,HttpServletResponse response) 
			throws ServletException,IOException{
		PrintWriter pw=response.getWriter();
		System.out.println("註冊。。。");
		//1.獲取瀏覽器端傳送請求的完整路徑;
		StringBuffer sbuf=request.getRequestURL();
		pw.println("url:"+sbuf);
		//System.out.println(sbuf);
		//2.獲取資源名部分-請求路徑中8080後的地址;
		String uri=request.getRequestURI();
		pw.println("uri:"+uri); 
		//3.獲取請求路徑中引數;
		String qs=request.getQueryString();
		pw.println("qs:"+qs);
		//4.獲取請求路徑中的ip地址;
		String ip=request.getRemoteAddr();
		pw.println("ip:"+ip);//ip=127.0.0.1
		//5.獲取瀏覽器傳送請求的方式(get請求、post請求)
		//在瀏覽器端,瀏覽器位址列回車、超連結、表單的預設方式都是get請求方式
		//在瀏覽器端,表單設定method="post"的方式提交是post請求方式
		String method=request.getMethod();
		pw.println("method="+method);//method=GET
		//6.獲取web應用名
		String cp=request.getContextPath();
		pw.println("cp="+cp);//cp=/servlet
		//接收表單提交傳送過來的引數
		//獲得單個value值
		String strName=request.getParameter("username");
		String strPwd=request.getParameter("pwd");
		pw.println("Name:"+strName+" Pwd:"+strPwd);
		//獲得多個對應value值
		String[] strInterest=request.getParameterValues("interest");
		pw.println(Arrays.toString(strInterest));
		//獲取請求引數中所有的name值
		Enumeration<String> names=request.getAttributeNames();
		pw.println(names);
		//使用迴圈將names中的內容取出
		while(names.hasMoreElements()){
			System.out.println(names.nextElement());
		}
	}
	
	
}

修改web.xml,新增如下code

<!-- 設定RegisterServlet -->
  <servlet>
  		<servlet-name>RegisterServlet</servlet-name>
  		<!-- 設定Servlet的路徑:包名+類名 -->
  		<servlet-class>request.RegisterServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  		<servlet-name>RegisterServlet</servlet-name>
  		<url-pattern>/register</url-pattern>
  </servlet-mapping>

重新設定伺服器

先點選左側圖示

再點選Redeploy,重新部署Tomcat伺服器

存取表單頁面

http://127.0.0.1:8080/Servlet/register.html

到此這篇關於JavaWeb實現表單提交的範例詳解的文章就介紹到這了,更多相關JavaWeb表單提交內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com