这个表单也是写在servlet中吗?不是太懂这个思路。

这个表单也是写在servlet中吗?不是太懂这个思路。

package per.rr.servlet.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 SumServlet
 */
@WebServlet("/direct/sum")
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 {
		request.setAttribute("请输入100以内的数字", "5");
		
		int n = 0;
		int sum = 0;
		for(int i = 0; i <= n; i++){
			sum = sum + i;
		}
		String output = "<h1>求累加和</h1>";
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().println(output);
		request.getRequestDispatcher("/direct/show").forward(request, response);
	}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
慕娘56302749 2018-12-28 18:23:12

你可以参考一下这个代码:

public class Add extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // 设置格式
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().write("<html>");
        resp.getWriter().write("<head>");
        resp.getWriter().write("<body>");
 
        resp.getWriter().write("<form action='number' >");
        resp.getWriter()
                .write("<input type='text' name='number'  placeholder='请输入100以内的数字' value=''/><br/>");
        resp.getWriter().write("<input type='submit' value='求累加和'/>");
        resp.getWriter().write("</form>");
        resp.getWriter().write("</body>");
        resp.getWriter().write("</head>");
        resp.getWriter().write("</html>");
        req.getRequestDispatcher("/Add/number").forward(req, resp);
    }
}


public class number extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // 设置格式
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        // 获得请求数据
        String num = req.getParameter("number");
        // 处理数据
        int sum = 0;
        char[] ch = num.toCharArray();
        for (int i = 0; i < ch.length; i++) {
            if (ch[i] == ' ') {
 
            } else {
                sum = (ch[i] - '0') + sum;
            }
 
        }
        // 得到响应
        resp.getWriter().write("累加和是:" + sum);
 
    }
}


好帮手慕阿莹 2018-12-28 15:12:41

没有明白同学的意思,同学是说这个html代码么?

http://img1.sycdn.imooc.com//climg/5c25cab20001e8e307130262.jpg

这个是把它写到浏览器上,一般情况下是不这么用的。

其实jsp就是类似于这样的。它本身是java文件,就在这样被写到浏览器端的。

例如下图就是编译后的jsp文件。

http://img1.sycdn.imooc.com//climg/5c25cc7800011a6e10150437.jpg

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


  • 提问者 慕仙哈哈哈 #1
    是的,不太明白怎么实现这个题目
    2018-12-28 17:52:37
  • 没解决,还是不太懂是用java类写呢还是JSP
    2019-05-21 10:39:31
  • 你好!从功能实现上都是可以的,但一般情况下表单我们用jsp更方便,而form表单提交时,一般都是提交给servlet执行。祝学习愉快!
    2019-05-21 19:26:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java Web基础入门2018版
  • 参与学习       716    人
  • 提交作业       185    份
  • 解答问题       1363    个

会Java?懂前端基础?想学后台开发?那么,赶快来学习《Java Web入门》路径吧。本路径主要介绍Java Web的基础知识,并配有大量案例,定会让你收获多多!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师