我不知道咋运用了。顺便请老师给个正确的方法
来源:2-6 自由编程
dobe001
2019-08-10 11:29:41
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="/direct/rs"> <input type="text" name="num" placeholder="请输入100以内的数字"> <input type="submit" value="求累加和"> </form> </body> </html>
package com.ccc.direct;
import java.io.IOException;
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 RequestServlet
*/
@WebServlet("/direct/rs")
public class RequestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RequestServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
String num=request.getParameter("num");
int n=Integer.parseInt(num);
int sum=0;
for(int i=0;i<=n;i++) {
sum+=i;
}
request.setAttribute("result", sum);
request.getRequestDispatcher("/direct/rs1").forward(request, response);;
}
}package com.ccc.direct;
import java.io.IOException;
import java.io.PrintWriter;
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 ReponseServlet
*/
@WebServlet("/direct/rs1")
public class ResponseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ResponseServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
// response.sendRedirect("/ServletProj/direct/rs1");
String num=request.getParameter("num");
String result=request.getAttribute("result").toString();
PrintWriter out=response.getWriter();
out.println("<h1>"+num+"累加和为:"+result+"</h1>");
}
}response.sendRedirect("/ServletProj/direct/~~~~");这个地方最迷糊 看别人的 好像没有用这个。也不知道什么时候该用
3回答
同学你好,404错误是路径问题,如:

同学的项目名是ServletProj吗?在映射到/direct/rs时,有两个项目名。在html的form表单的action中,应该是action="/ServletProj/direct/rs",建议同学检查一下。
祝:学习愉快~
dobe001
提问者
2019-08-10

我觉得我第三段的代码写的是有问题的。
好帮手慕阿满
2019-08-10
同学你好,同学的代码整体完成的不错,不过在html页面的form表单的action中,建议加上项目名。另外关于同学的问题,response.sendRedirect()是重定向,在跳转页面时使用。跳转时,可以使用转发或者重定向,关于转发和重定向,建议同学重新学习一下2-1和2-4.
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题
回答 2
回答 1