protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
Category category = new Category();
category.add(new String(request.getParameter("name").getBytes("iso-8859-1"), "utf-8"));
response.getWriter().println("");
}
我这里是用window.location.href 脚本操作返回页面。这样合理吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
response.sendRedirect()
不可以,这是js代码当运行在浏览器里,如果要回到表单页面,可以使用楼上的那种方式,或者请求转发,但是需要指定路径,属于服务器请求。
如果在页面使用js提交表单,则无需这么麻烦
你如果主要用的是jsp,html如果把form的路径填成servlet,确实就需要java来重定向,也就是
response.sendRedirect()。但是现在一般都是ajax去提交POST的HTTP请求,所以一般是js来控制跳转。
但你这种写法是最好不要的,前后端过于耦合。
你说的应该是表单页面提交后返回表单列表吧,你给方式可能可用,但应该是古董级的方法了,感觉还要向页面写入脚本,其实用重定向方式很好解决的,具体如下:
1、web.xml配置内容Servlet的规则:
2、Servlet类(继承HttpServlet)中的关键配置
(service()服务器接收所有请求的入口)
(自定义的addcategory()处理完表单提交后重定向到category.do,客户端收到后会向服务器发起category.do请求)
如果你一定要用原始的Servlet,这个方式至少简单灵活点。其实这种与前端交互的内容,早已被框架大大简化,建议你别太深入,理解处理原理就行了。