现在的位置: 首页 > 综合 > 正文

servlet服务器端验证

2018年01月09日 ⁄ 综合 ⁄ 共 5182字 ⁄ 字号 评论关闭

编程:编写服务器端验证的程序

要求:(1)编写表单界面如下图:

2)编写servlet程序对用户所输入的内容进行验证,要求用户名不能为空,密码与确认密码不能为空且长度在4-10之间,密码与确认密码相同。如果用户输入的条件符合要求,则请求转发到success.jsp,否则请求转发到error.jsp

(3)success.jsp用于输出用户所输入的用户名及密码。

(4)error.jsp用于输出用户输入时出错的信息。


├─.myeclipse
├─.settings
├─src
│  └─com
│      └─mars
└─WebRoot
    ├─META-INF
    └─WEB-INF
        ├─classes
        │  └─com
        │      └─mars
        └─lib


登录login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>login</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	</head>

	<body>
		<center>
			<h1>
				服务器端验证的程序
			</h1>
			<form action="login" method="get">
				<table border="1">
					<tr>
						<td>
							用 户 名:
						</td>
						<td>
							<input type="text" name="username">
						</td>
					</tr>

					<tr>
						<td>
							密    码:
						</td>
						<td>
							<input type="password" name="password1">
						</td>
					</tr>

					<tr>
						<td>
							确认密码:
						</td>
						<td>
							<input type="password" name="password2">
						</td>
					</tr>

					<tr>
						<td colspan="2">
							<input type="submit" value="提交">
						</td>
					</tr>

				</table>
			</form>
		</center>
	</body>
</html>

success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>success</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	</head>

	<body>
		<center>
			<h1>
				登陆成功界面
			</h1>
			用户名:<%=request.getAttribute("name")%><br>
			密  码:<%=request.getAttribute("password")%>
		</center>
	</body>

</html>

error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>error</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<meta http-equiv="description" content="This is my page">
		<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	</head>

	<body>
		<%
			ArrayList l = new ArrayList();
			l = (ArrayList) request.getAttribute("error");
			Iterator i = l.iterator();
			String str = "";
			while (i.hasNext()) {
				str = (String) i.next();
				out.println("<table BORDER=1 width=200><tr><td>" + str + "</td></tr></table>");
			}
		%>
	</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>login</servlet-name>
    <servlet-class>com.mars.login</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

login.java

package com.mars;

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

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

public class login extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=GBK");
		request.setCharacterEncoding("GBK");
		
		//String name = request.getParameter("username");
		String newname = new String(request.getParameter("username").getBytes("ISO-8859-1"),"GBK");
		String password1 = request.getParameter("password1");
		String password2 = request.getParameter("password2");
		
		ArrayList l = new ArrayList();
		if (newname.equals("") || newname.equals(null)) {
			l.add("用户不为空");

		}
		if (password1== null || password1.length() < 4 || password1.length() > 10) {
			l.add("密码的长度4-10位");

		}
		if (password2 == null || password2.length() < 4 || password2.length() > 10) {
			l.add("确认密码的长度4-10位");

		}
		if (password1 != null && password2 != null
				&& !password1.equals(password2)) {
			l.add("密码和确认密码应该一致");

		}
		if (l.isEmpty()) {
			request.setAttribute("name", newname);
			request.setAttribute("password", password1);
			request.getRequestDispatcher("Success.jsp").forward(request, response);

		} else {
			request.setAttribute("error", l);
			request.getRequestDispatcher("Error.jsp").forward(request, response);

		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("调用doPost");
		doGet(request, response);
	}
}

抱歉!评论已关闭.