Servlet 를 사용 하여 복잡 한 폼 을 서버 측 에서 검증 합 니 다.

5727 단어 자바jspservlet
폼 jsp 페이지

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>

    
    <title></title>

  </head>
  
  <body>
       <form action="TestListServlet">
            username:<input type="text" name="username"><br>
            password:<input type="password" name="password"><br>
            interests:<input type="checkbox" name="interests" value="  ">  
                      <input type="checkbox" name="interests" value="football">  
                      <input type="checkbox" name="interests" value="swimg">  <br>
            address:<input type="text" name="address">  <br>
            <input type="submit" value="submit">
       </form>
  </body>
</html>


사용자 가 서버 인증 을 하 는 Servlet 클래스

package com.mison;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

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

public class TestListServlet extends HttpServlet {
      @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    		throws ServletException, IOException {
    	this.process(req, resp);
    }
      @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    		throws ServletException, IOException {
    	this.process(req, resp);
    }
      protected void process(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
	         String username=req.getParameter("username");
	         String password=req.getParameter("password");
	         String interests[]=req.getParameterValues("interests");
	         
	         String address=req.getParameter("address");
	         List<String>array=new ArrayList();
	         if(""==username){
	        	 array.add("       ");
	         }
	         else if(username.length()<4||username.length()>12){
	        	 array.add("       4-6     ");
	         }
	         if(""==password){
	        	
	        	 array.add("      ");
	         }
	         else if(password.length()<4||password.length()>12){
	        	 array.add("       4-6     ");
	         }
	          if(null==interests){
		        	 array.add("       ");
		         }
	         else if(interests.length==3){
	        	 array.add("     2 ");
	         }
	          if(""==address){
	        	 array.add("      ");
	         }
	       
	         if(array.isEmpty()){
	        	 
	         RequestDispatcher rd=req.getRequestDispatcher("result.jsp");
	         
	         rd.forward(req, resp);
	         }else{
	         req.setAttribute("array", array);
	         RequestDispatcher rd =req.getRequestDispatcher("error.jsp");
	         rd.forward(req, resp);
	         }
    }
}


정확 한 결 과 를 보 여 주 는 jsp 페이지

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>

    
    <title>My JSP 'result.jsp' starting page</title>
   

  </head>
  
  <body>
       username:<%=request.getParameter("username")%><br>
       password:<%=request.getParameter("password") %><br>
       
       interests:<%String []interests=(String [])request.getParameterValues("interests");
          for(int i=0;i<interests.length;i++){
             String str =interests[i];
             %>
             <%=str.toString() %>
        	     
          <%} %>
        <br>
       address:<%=request.getParameter("address")%>
  </body>
</html>


오류 결 과 를 표시 하고 오류 메 시 지 를 보 여 주 는 jsp 페이지

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
  
    
    <title>My JSP 'error.jsp' starting page</title>

  </head>
  
  <body>
        <%List <String>array=(List)request.getAttribute("array");
          Iterator<String> it =array.iterator();
          while(it.hasNext()){
        	  out.println("*"+it.next());%><br>
        <%}%>
        
  </body>
</html>


하지만 해결 해 야 할 문제 가 하나 더 있 습 니 다.1.바로 checkbox 의 value 값 이 중국어 일 때 결과 에 어 지 러 움 이 나타 납 니 다.왜 요?시간 나 면 해결 합 시다!
2.null==username 과"=username 은 어떤 차이 가 있 습 니까?

좋은 웹페이지 즐겨찾기