我不知道咋运用了。顺便请老师给个正确的方法
来源: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