这个对吗?
来源:2-6 自由编程
1qazwsx
2018-12-20 20:37:29
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="/freedom/freedom">
<input type="text" placeholder="请输入100以内数字" name="num" value="num"/>
<input type="submit" value="求累积和" />
</form>
</body>
</html>
package com.test.freedon;
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 freedom
*/
@WebServlet(description = "text", urlPatterns = { "/fed" })
public class freedom extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public freedom() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String str=request.getParameter("name");
int str1=Integer.parseInt(str);
int sum=0;
for(int i=0;i<=str1;i++) {
sum=sum+i;
}
request.getRequestDispatcher("/freedom/fd").forward(request,response);
}
}
package com.test.freedon;
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 freedom1
*/
@WebServlet(description = "test1", urlPatterns = { "/freedom1" })
public class freedom1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public freedom1() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int sum1=(int)request.getAttribute("sum");
response.getWriter().println(sum1);
}
}
以上代码对吗?
下面的建设路径对吗?

1回答
同学的程序中有些问题,如下:
1、首先类命名应该规范,首字母应该大写。
2、在jsp页面的form中没有指明提交方式,所以Freedom的Servlet中的代码要写在service()方法中,而不是doGet方法中,Freedom1中的逻辑代码也要写在service()方法中。
3、jsp页面的action中应该是提交的路径,绝对路径为:http://localhost:端口号/项目名/Servlet名称。相对路径因为是在一个项目中,所以直接写Servlet名称即可,如Freedom。
4、得到累加和后将结果存储到request中,同学没有完成。代码为:
request.setAttribute("sum", sum);5、转发到Freedom1页面的路径也是直接写Freedom1即可。如:
request.getRequestDispatcher("/Freedom1").forward(request, response);如果我的回答解决了你的疑惑,请采纳。祝:学习愉快!
相似问题