错误代码500

错误代码500

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

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="localhost:8080/ServletProj">
        <h1>加法计算器</h1>
        <p>加数1:</p><input type="text" name="j1"><hr>
        <p>加数2:</p><input type="text" name="j2"><hr>
        <input type="submit" name:"计算">
    </form>
</body>
</html>
package com.ccc.pro;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletProj2 extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		int num1 = Integer.parseInt(request.getParameter("j1"));
		int num2 = Integer.parseInt(request.getParameter("j2"));
		int num = num1 + num2;
		PrintWriter out = response.getWriter();
		out.println("加法计算器");
		out.println("运算结果为:" + num);
	}
}
  <servlet>
    <servlet-name>pro2</servlet-name>
    <servlet-class>com.ccc.pro.ServletProj2</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>pro2</servlet-name>
    <url-pattern>/PlusServlet</url-pattern>
  </servlet-mapping>

我不知道怎么把这两个页面衔接起来。还有button submit区别是什么。为什么value改变不了按键显示值。代码错误我也不知道什么15行好像。

正在回答

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

6回答

同学你好,这里应该是action跳转的问题,action要么写全,如:

<form action="http://localhost:8080/项目名/映射">

加上前边的http://,要么简写,只写"/项目名/映射",例如:

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

前边的斜杠(/)表示http://localhost:8080。

另外关于乱码的问题,建议同学在servlet中,加上如下代码

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf8");
response.setContentType("text/html;charset=utf-8");

如:

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

祝: 学习愉快~

提问者 dobe001 2019-08-04 15:11:58

测试过了 两个页面都没有问题。就是点计算的时候链接不起来。在文本框里输入的值传入j1和j2不需要别的方法妈

提问者 dobe001 2019-08-04 14:31:38
提问者 dobe001 2019-08-04 14:28:13
好帮手慕阿满 2019-08-04 10:33:01

同学你好,在html页面中,有表单action,action中的值,可以指定提交的路径,这样将html页面和Servlet衔接起来。action中的的内容应该是localhost:8080/项目名/映射。在同学的项目中,项目名是servletProj,映射同学可以写sample,然后在web.xml文件中,配置servlet,url-pattern是写映射/sample,两个<saervlet-name>需要相同,servlet-class是具体的ServletProj2类的路径。这样就可以通过/sample映射到对应的类。

关于button,submit,都是按钮,但是submit有提交数据的功能。value可以改变显示的值,其形式应该是value="计算"。

在form表单的action中,映射是sample,在web.xml中url-pattern的值也必须是/sample。同学修改一下再试试。

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

  • 提问者 dobe001 #1
    我的工程目录下是两个html 我输入http://localhost:8080/ServletProj/index.html可以正常跳转那个页面 http://localhost:8080/ServletProj/signln.html是提示404.我根据老师提示的都改好了,还是没有用。在文件夹里面打开signln.html时候 点计算按钮没有反应。但是输入http://localhost:8080/ServletProj/PlusServlet?j1=2&j2=4 时候可以自动计算好,显示页面我也放上面
    2019-08-04 14:31:07
提问者 dobe001 2019-08-03 20:30:33

<form action="localhost:8080/ServletProj/sample">

这个改好之后好像没有错误。但是两个页面也链接不起来

  • 提问者 dobe001 #1
    sample这个应该改成什么
    2019-08-03 20:31:08
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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