夜光带你走进 Java Web应用程序开发(二十五)

夜光序言:

在已经做好觉悟的男人面前,不管是同情还是悲伤,都是对他的侮辱。

 

 

正文:

 

//夜光:用户通过 input.jsp 页面提供的表单输入姓名和年龄,并提交给一个 servlet(Verify 类负责创建)

//如果用户输入的不完整(没有输入姓名或年龄)或输入的年龄不合法(小于 1 或大于 150),那么该 servlet 就将用户重新定向到input.jsp 页面

//如果用户输入的数据符合要求,servlet就将用户input.jsp 页面的请求转发到另一个 servlet(ShowMessage 类负责创建)。


//Verify .java

package myservlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Verify
*/
@WebServlet("/Verify")
public class Verify extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Verify() {
super();
// TODO Auto-generated constructor stub
}
/**
*  @see  HttpServlet#doGet(HttpServletRequest
request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String name=request.getParameter("name");
String age=request.getParameter("age");
int numberAge=Integer.parseInt(age);
if(name.length()==0||name==null) {
response.sendRedirect("input.jsp");
}
else if(age.length()==0||name==null) {
response.sendRedirect("input.jsp");//重定向
}
else if(numberAge<=0||numberAge>=150) {
response.sendRedirect("input.jsp");
}
else {
RequestDispatcher
dispatcher=request.getRequestDispatcher("showMessag
e");
dispatcher.forward(request, response);//转发
}
}
/**
*  @see  HttpServlet#doPost(HttpServletRequest
request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}





====================================================





//input.jsp


<%@ page language="java" contentType="text/html;
charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>重定向与转发</title>
</head>
<body>
<form action="verify" method="post">
输入姓名:<input type=text name=name>
<br>
输入年龄:<input type=text name=age>
<br><input type=submit value=" 提交 ">
</form>
</body>
</html>



=============================================================








//ShowMessage .java


package myservlet;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ShowMessage
*/
@WebServlet("/ShowMessage")
public class ShowMessage extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ShowMessage() {
super();
// TODO Auto-generated constructor stub
}
/**
*  @see  HttpServlet#doGet(HttpServletRequest
request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
//1.设置请求与响应的编码格式
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8"
);
//2.
PrintWriter out=response.getWriter();
String name=request.getParameter("name");
String age=request.getParameter("age");
out.print("<br><font color=blue size=4>您的姓名
是:");
out.print(name);
out.print("<br><font color=pink size=6>您的年龄
是:");
out.print(age);
}
/**
*  @see  HttpServlet#doPost(HttpServletRequest
request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值