JavaWeb 表单提交无反应

weixin_37623823 2018-10-15 03:04:46
环境:
IntellJ IDEA 2018.2.4
Tomcat8.5.34
JAVA1.80
引入依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>

打开http://localhost:8080/d/
有表单可注册但是点击提交无反应。上面网址不会跳转http://localhost:8080/d/he
手动输入http://localhost:8080/d/hee?girl=q 有效 后台可显示部分内容
from表单尝试action多中方法 1.d/hee
2./hee
3.hee
都不可以 提交

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<from action="/d/he" method="post">
姓名:<input type="text" name="names"><br>
密码:<input type="text" name="pas">
<input type="submit" value="注册">
</from>
</body>
</html>




@WebServlet("/he")
public class RegisterServlet extends HttpServlet {
@Override //Get 请求
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name1=req.getParameter("name");
String pas1=req.getParameter("pas");
System.out.println(name1+pas1);
System.out.println(req.getParameter("girl"));
}

@Override //post 请求
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//转给doGet处理
doGet(req, resp);
}
}






[code=java]public class RegisterServlet extends HttpServlet {
@Override //Get 请求
protect
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.z.selevt.RegisterServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/he</url-pattern>
</servlet-mapping>
</web-app>



...全文
2743 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
尝鲜我在行 2021-10-08
  • 打赏
  • 举报
回复 5

form,你写错了

空谷余音~ 2018-10-18
  • 打赏
  • 举报
回复
嗯嗯,你注意再看看路径,有时候就是小问题
weixin_37623823 2018-10-17
  • 打赏
  • 举报
回复
引用 32 楼 liouxingzy 的回复:
单步调试看看方法有没有进去啊,换action地址有啥用
刚入门。idea也刚使用。网页是能运行。单步调试看不出什么东西出错误了。有点尴尬
QY别说话 2018-10-17
  • 打赏
  • 举报
回复
1. getParameter("name");应该是names
2. 密码 type 一般为password,当然你喜欢用text也没问题
weixin_37623823 2018-10-17
  • 打赏
  • 举报
回复
引用 30 楼 qq_42689450 的回复:
get,post请求都可以用servers方法,想具体点那就get对应doget,post对应dopost方法,你第一个示例代码是在doget里获取值的,是获取不到的,其次看看你访问路径是不是有问题。
应该是访问站点路径出现问题的。 我看自学视频中仿照他的代码写出来的。对方也是用的方法是dopost接受到数据就转到doget执行。刚才我重新试了下。用dopost 函数下写了执行代码。但是依旧站点没有提交。无反应
weixin_37623823 2018-10-17
  • 打赏
  • 举报
回复
引用 23 楼 qq_41114603 的回复:
[quote=引用 20 楼 weixin_37623823 的回复:] [quote=引用 19 楼 qq_41114603 的回复:] 你用postman测试过你的接口吗
刚入门还没用过postman。刚刚百度 下载 尝试了下 [/quote] 被你搞蒙圈了,form表单提交都会跳转到action的地址去,你点击注册没跳过去,只有一个可能就是用JS阻止了表单的提交; 看下是不是按钮绑定了click事件用return false;或者form表单绑定了submit事件 return false;[/quote] 新手刚入门。百度查了下 JS阻止了表单的提交 click事件。 我项目代码里 这些代码都没有啊。 我就写了这些最基础的东西
Logerlink 2018-10-17
  • 打赏
  • 举报
回复
我觉得应该是重复配置Servlet而导致的问题吧,servlet注解和web.xml配置Servlet选其一就可以了。
我这里两个都配置的话是无法启动tomcat的,报错:Server Tomcat v7.0 Server at localhost failed to start.

去掉web.xml,action直接写he就可以了


jerysab 2018-10-16
  • 打赏
  • 举报
回复
F12调式看看
風灬雲 2018-10-16
  • 打赏
  • 举报
回复
引用 20 楼 weixin_37623823 的回复:
[quote=引用 19 楼 qq_41114603 的回复:]
你用postman测试过你的接口吗


刚入门还没用过postman。刚刚百度 下载 尝试了下
[/quote]
被你搞蒙圈了,form表单提交都会跳转到action的地址去,你点击注册没跳过去,只有一个可能就是用JS阻止了表单的提交;
看下是不是按钮绑定了click事件用return false;或者form表单绑定了submit事件 return false;
haiwen5668 2018-10-16
  • 打赏
  • 举报
回复
问题有点奇怪
瓶子盒 2018-10-16
  • 打赏
  • 举报
回复
单步调试看看方法有没有进去啊,换action地址有啥用
空谷余音~ 2018-10-16
  • 打赏
  • 举报
回复
get,post请求都可以用servers方法,想具体点那就get对应doget,post对应dopost方法,你第一个示例代码是在doget里获取值的,是获取不到的,其次看看你访问路径是不是有问题。
秦骥 2018-10-16
  • 打赏
  • 举报
回复
厉害了,我看下。。。
weixin_37623823 2018-10-15
  • 打赏
  • 举报
回复
引用 19 楼 qq_41114603 的回复:
你用postman测试过你的接口吗
刚入门还没用过postman。刚刚百度 下载 尝试了下
風灬雲 2018-10-15
  • 打赏
  • 举报
回复
你用postman测试过你的接口吗
weixin_37623823 2018-10-15
  • 打赏
  • 举报
回复
引用 15 楼 qq_41114603 的回复:
这个逻辑有点问题,你点击注册的时候表单会提交,页面就会刷新,所以就看不到network了;建议你用JS写ajax请求吧,应该是路径的问题
ajax 没学过。还不会。我这个是模仿自学视频中 写出来的代码。 我也试过站点用https://xxxx//xxx 直接制定。 和网址http://localhost:8080/d/he这样直接指。 自学视频中 操作步骤
weixin_37623823 2018-10-15
  • 打赏
  • 举报
回复
自学视频中 操作步骤
風灬雲 2018-10-15
  • 打赏
  • 举报
回复
或者你把后端API的绝对路径写到action里面试试:https://xxxx/api/xxx这种
風灬雲 2018-10-15
  • 打赏
  • 举报
回复
这个逻辑有点问题,你点击注册的时候表单会提交,页面就会刷新,所以就看不到network了;建议你用JS写ajax请求吧,应该是路径的问题
weixin_37623823 2018-10-15
  • 打赏
  • 举报
回复
引用 13 楼 qq_41114603 的回复:
意思就是点击的时候没有请求发出去呗?
我觉得是。但是不知道如何验证。 点击提交后。上面网址没有变化。 视频教学中会变化。再网页后面加上 xxx。然后根据web.xml 的映射关系。找到处理页面。进行处理
加载更多回复(13)

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧