这个对吗?

来源: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);

}


}

以上代码对吗?

下面的建设路径对吗?

http://img.mukewang.com/climg/5c1b8d070001d91702950494.jpg

写回答

1回答

好帮手慕阿满

2018-12-21

同学的程序中有些问题,如下:

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);

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

0

0 学习 · 10204 问题

查看课程