我不是用jsp或者html文件会报错,请问为什么会报错,然后怎么改

来源:2-6 自由编程

qq_温书_0

2018-12-26 15:30:55

package com.imooc.servlet.sum;

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 SumServlet
 */
@WebServlet("/sum/ss")
public class SumServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public SumServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		String str=request.getParameter("number");
		int str1=Integer.parseInt(str);
		int sum=0;
		String output="<h1><input type='text' name='number' placeholder='请输入100以内的数字'><input type='submit' value='求累加和'/></h1>";
		for(int i=0;i<=str1;i++) {
			sum+=i;
		}
		request.setAttribute("sums", sum);
		response.getWriter().println(output);
		request.getRequestDispatcher("/sum/xs").forward(request, response);
	}

}


package com.imooc.servlet.sum;

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 XianshiServlet
 */
@WebServlet("/sum/xs")
public class XianshiServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public XianshiServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int sum=(int)(request.getAttribute("sums"));
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().println("<h1>结果为:"+sum+"</h1>");
	}

}

我想在第一个servlet中直接数据,但是会提示空指针异常。在同一个页面这里是不是不能使用request.getParameter("number");这个方法了呢?请问在不使用html或者jsp的时候怎么修改?

写回答

1回答

chrismorgen

2018-12-26

你好同学,你下图的没有写form表单呀,那么接收的字符串怎么提交到XianshiServlet中进行显示呢?

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

你可以参考一下这位同学的代码来修改一下,http://class.imooc.com/course/qadetail/84881,如果有什么不明白的地方可以再次提问哦,祝学习愉快~

0

0 学习 · 10204 问题

查看课程