jsp中如何实现错误页面的处理?!
要求完成如下功能:在error文件夹中,nl.htm文件用来输入年龄信息,nlcl.jsp文件用来处理用户输入的年龄信息;当处理年龄信息出现异常时调用error.jsp文...
要求完成如下功能:在error文件夹中,nl.htm文件用来输入年龄信息,nlcl.jsp文件用来处理用户输入的年龄信息;当处理年龄信息出现异常时调用error.jsp文件。(提示用page指令中的errorPage、isErrorPage相关属性)
其中nl.htm 的代码如下
<HTML>
<BODY>
<FORM ACTION="nlcl.jsp" METHOD="POST">
<P>输入你的年龄:
<INPUT NAME="uyear" TYPE="TEXT" SIZE="20"></P>
<P><INPUT TYPE="SUBMIT" VALUE="提 交"> </P>
</FORM>
</BODY>
</HTML>
error.jsp 代码如下
<%@ page language="java" isErrorPage="true" contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>Compute error</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<br><br>
<h1>错误信息</h1>
<hr>
<p><center>
<h3>这里是错误页面的处理,你的输入可能有误,请按下面得“返回”重新操作。</h3>
<br><br><br>
<a href="javascript: history.back();">返回</a>
</center></p>
</div>
</body>
</html> 展开
其中nl.htm 的代码如下
<HTML>
<BODY>
<FORM ACTION="nlcl.jsp" METHOD="POST">
<P>输入你的年龄:
<INPUT NAME="uyear" TYPE="TEXT" SIZE="20"></P>
<P><INPUT TYPE="SUBMIT" VALUE="提 交"> </P>
</FORM>
</BODY>
</HTML>
error.jsp 代码如下
<%@ page language="java" isErrorPage="true" contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>Compute error</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<br><br>
<h1>错误信息</h1>
<hr>
<p><center>
<h3>这里是错误页面的处理,你的输入可能有误,请按下面得“返回”重新操作。</h3>
<br><br><br>
<a href="javascript: history.back();">返回</a>
</center></p>
</div>
</body>
</html> 展开
3个回答
展开全部
要用转发机制:比如一个登录页面:
<html>
<head></head>
<body style="font-size:30px;">
<h2>登录</h2>
<form action="login3.do" method="post">
用户名:<input name="username"/>
<%
String msg =
(String)request.getAttribute("login_error");
%>
<span style="color:red;"><%=(msg == null ? "" : msg)%></span>
<br/>
密码:<input type="password" name="pwd"/>
<br/>
验证码:<input name="number"/>
<a href="javascript:;"
onclick="document.getElementById('img1').src='checkcode?' + Math.random();">看不清,换一个</a>
<%
String msg2 = (String)request
.getAttribute("checkcode_error");
%>
<span style="color:red;"><%=(msg2 == null ? "" : msg2)%></span><br/>
<img src="checkcode" id="img1"/><br/>
<input type="submit" value="确定"/>
</form>
</body>
</html>
服务器端代码:
public class ActionServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String uri = request.getRequestURI();
String action = uri.substring(
uri.lastIndexOf("/"),uri.lastIndexOf("."));
if(action.equals("/login3")){
//
String number1 = request
.getParameter("number");
HttpSession session = request.getSession();
String number2 = (String) session
.getAttribute("number");
if(!number1.equals(number2)){
//
request.setAttribute("checkcode_error",
".......");
request.getRequestDispatcher("login.jsp")
.forward(request, response);
return;
}
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
UserDAO dao = new UserDAO();
try {
User user = dao.findByUsername(username);
if(user!=null && user.getPwd().equals(
DigesterUtil.digester(pwd))){
//
System.out.println("id1:" + session.getId());
session.setAttribute("user", user);
//
response.sendRedirect("main.jsp");
}else{
//
request.setAttribute("login_error",
"fghfghfgh");
request.getRequestDispatcher("login.jsp")
.forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e);
}
}
<html>
<head></head>
<body style="font-size:30px;">
<h2>登录</h2>
<form action="login3.do" method="post">
用户名:<input name="username"/>
<%
String msg =
(String)request.getAttribute("login_error");
%>
<span style="color:red;"><%=(msg == null ? "" : msg)%></span>
<br/>
密码:<input type="password" name="pwd"/>
<br/>
验证码:<input name="number"/>
<a href="javascript:;"
onclick="document.getElementById('img1').src='checkcode?' + Math.random();">看不清,换一个</a>
<%
String msg2 = (String)request
.getAttribute("checkcode_error");
%>
<span style="color:red;"><%=(msg2 == null ? "" : msg2)%></span><br/>
<img src="checkcode" id="img1"/><br/>
<input type="submit" value="确定"/>
</form>
</body>
</html>
服务器端代码:
public class ActionServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String uri = request.getRequestURI();
String action = uri.substring(
uri.lastIndexOf("/"),uri.lastIndexOf("."));
if(action.equals("/login3")){
//
String number1 = request
.getParameter("number");
HttpSession session = request.getSession();
String number2 = (String) session
.getAttribute("number");
if(!number1.equals(number2)){
//
request.setAttribute("checkcode_error",
".......");
request.getRequestDispatcher("login.jsp")
.forward(request, response);
return;
}
String username = request.getParameter("username");
String pwd = request.getParameter("pwd");
UserDAO dao = new UserDAO();
try {
User user = dao.findByUsername(username);
if(user!=null && user.getPwd().equals(
DigesterUtil.digester(pwd))){
//
System.out.println("id1:" + session.getId());
session.setAttribute("user", user);
//
response.sendRedirect("main.jsp");
}else{
//
request.setAttribute("login_error",
"fghfghfgh");
request.getRequestDispatcher("login.jsp")
.forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e);
}
}
展开全部
首先我发现,你这个是页面之间的跳转。首先是在nl.htm的text文本框中输入一个数字,然后再将这个数值传到nlcl.jsp页面中,在页面中你需要获取这个值可以用var age=request.getparameter("uyear"); 这样你就把值付给age这个变量了,然后判断age是否为数字,而且是大于0小于150岁if(!isNaN(age)&age>0&age<150){
alert("是数字");
}else{
alert("不是数字或者该数值小于0 或者大于150");
//跳转到错误页面
Response.Redirect="error.jsp";
}
alert("是数字");
}else{
alert("不是数字或者该数值小于0 或者大于150");
//跳转到错误页面
Response.Redirect="error.jsp";
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-03-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
jsp中实现错误页面的处理通常是配置在web.xml中的。
格式如下:
<web-app>
<error-page>
<exception-type>完整的异常类名</exception-type>
<location>以”/”开头的异常处理页面路径</location>
</error-page>
<error-page>
<error-code>HTTP响应状态码</error-code>
<location>以”/”开头的异常处理页面路径</location>
</error-page>
</web-app>
//--------------------------------------------------------------//
<!-- 400错误 请求无效 -->
<error-page>
<error-code>400</error-code>
<location>/error.jsp</location>
</error-page>
<!-- 404 页面不存在错误 -->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<!-- 500 服务器内部错误 -->
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
<!-- java.lang.Exception异常错误,依据这个标记可定义多个类似错误提示 -->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
<!-- java.lang.NullPointerException异常错误,依据这个标记可定义多个类似错误提示 -->
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
格式如下:
<web-app>
<error-page>
<exception-type>完整的异常类名</exception-type>
<location>以”/”开头的异常处理页面路径</location>
</error-page>
<error-page>
<error-code>HTTP响应状态码</error-code>
<location>以”/”开头的异常处理页面路径</location>
</error-page>
</web-app>
//--------------------------------------------------------------//
<!-- 400错误 请求无效 -->
<error-page>
<error-code>400</error-code>
<location>/error.jsp</location>
</error-page>
<!-- 404 页面不存在错误 -->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<!-- 500 服务器内部错误 -->
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
<!-- java.lang.Exception异常错误,依据这个标记可定义多个类似错误提示 -->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
<!-- java.lang.NullPointerException异常错误,依据这个标记可定义多个类似错误提示 -->
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询