我的页面跳转不过去

我的页面跳转不过去

numberAdd.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>Insert title here</title>
<style type="text/css">
input{
 margin-bottom:20px;
}
</style>
</head>
<body>
<div style="margin-bottom:20px;">加法计算器</div>
<form action="/Add" method="post">
<input type="text" name="num1"/>加数1:
<br>
<input type="text" name="num2"/>加数2:
<br>
<input type="submit" value="计算"/>
</form>
</body>
</html>

Add.java

package cn.java.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/Add")
public class Add extends HttpServlet {
 
     protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
      //通过转发的形式来跳转页面
  int add=Integer.parseInt(request.getParameter("num1"))+Integer.parseInt(request.getParameter("num2"));
  // request.setAttribute("result", add);
   //   request.getRequestDispatcher("/result.jsp").forward(request, response);
      //通过PrintWriter来在页面打印输出
      PrintWriter out=response.getWriter();
         out.println(add);
         //通过重定向的方式来跳转页面
       //  ServletContext sx=request.getServletContext();
         //sx.setAttribute("result", add);
       //  response.sendRedirect("/imooc_servlet1/result.jsp");
 }

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  doGet(request, response);
 }

}

result.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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
加法计算器:
<br>
运算结果为:<%=request.getAttribute("result") %>
<!--  运算结果为:<%=application.getAttribute("result") %>-->
</body>
</html>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

7回答
一叶知秋519 2018-04-18 11:34:28

1、这个path值我们通常称为是项目名称,也就是项目发布的名称;在访问项目时,访问路径是这样的:localhost:8080/项目发布名称/index.jsp   如果没有配置项目发布名称,访问时,就可以这么写:

localhost:8080/index.jsp 

由于你的代码中是直接跳转的Add,<form action="/Add" method="post"> 前面没有加项目名称,所以可以将配置的项目发布名称去掉,这样就可以直接跳转过去了;或者在/Add前面加上项目的发布名称。

2、改为/ 后,访问404:此时tomcat还是直接访问的我们发布的项目,默认访问页面上是index.jsp,但是我们的项目如果没有index.jsp 就会出现404;

3、此处就需要区分path和你所说的项目名称了;path指的是发布到服务器上以后的项目名称,而你说的项目名称就是project的名称,两个还有所区别的。

如果解决了你的疑惑,请采纳。祝学习愉快!

提问者 liqihang 2018-04-17 20:49:32
一叶知秋519 2018-04-17 19:11:51

建议同学将项目名改为空,修改办法:

双击Tomcat,打开Modules,选中你发布的项目,将path内的值改为/

http://img1.sycdn.imooc.com//climg/5ad5d62c00010f2c12680434.jpg

建议同学修改后再试一下。

祝学习愉快!

  • 提问者 liqihang #1
    老师这样改能显示了,请问为何要这样设置?正常情况为啥无法显示页面? 问题随之也出来了,我的重定向代码和转发代码都显示结果为null,老师帮我检查下代码
    2018-04-17 19:30:07
  • 提问者 liqihang #2
    老师,将path修改后是能运行,可是重定向的url怎么写,如我上面贴出的图片,重定向404界面。
    2018-04-17 20:50:35
  • 一叶知秋519 回复 提问者 liqihang #3
    你的重定向url中写了项目名称,改为这样: response.sendRedirect("/result.jsp");应该就可以了。如果发布项目时有项目名称,在跳转时就都需要加上项目名称,要保持一致。祝学习愉快!
    2018-04-18 09:47:31
提问者 liqihang 2018-04-17 19:01:02
提问者 liqihang 2018-04-17 18:41:11
提问者 liqihang 2018-04-17 18:39:44
喜欢做梦的鱼 2018-04-17 18:30:52

代码本身测试了一下没问题,http://img1.sycdn.imooc.com//climg/5ad5ccb50001965f02250163.jpghttp://img1.sycdn.imooc.com//climg/5ad5ccbe0001518401310031.jpg请检查一下项目设置以及跳转页面命名是否一一对应。

  • 提问者 liqihang #1
    我在电脑上测试输入数字后,总是上面这个页面,怎么办,
    2018-04-17 18:40:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师