MVC学習におけるエラーを助けてください
解決したいこと
Youtubeを参考にMVCモデルの学習をしているのですが、うまく動作しないのでどなたか教えていただきたいです。
eclipseを使用してるのですが、始めたてであまり使い方を理解していないのでそちらに関してもご教授していただけるとありがたいです。
(どの写真が必要かわからないのでいっぱい上げておきます。)
内容は、HTMLに入力した内容がJSPから返ってこずにエラーになるということです。
発生している問題・エラー
該当するソースコード
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登録画面</title>
</head>
<body>
<h1>登録情報を入力してください</h1>
<form action = "/SampleMVC/register" method = "post">
名前:<input type = "text" name = "name" size = "10"/><br/>
年齢:<input type = "radio" name = "age" value = "child"/>18歳未満
<input type = "radio" name = "age" value = "adult"/>18歳以上<br/>
開発経験:<input type = "checkbox" name = "lang" value = "java"/>java
<input type = "checkbox" name = "lang" value = "python"/>phthon
<input type = "checkbox" name = "lang" value = "javascript"/>javascript<br/><br/>
<input type = "submit" value = "送信"/>
</form>
</body>
</html>
import java.io.IOException;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import bean.RegisterBean;
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
public void doPost(HttpServletRequest req,HttpServletResponse res)
throws IOException,ServletException{
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
String age = req.getParameter("age");
String[] langs = req.getParameterValues("lang");
res.setContentType("text/html;charset = utf-8");
//Bean
RegisterBean rb = new RegisterBean();
rb.setName(name);
rb.setAge(age);
rb.setLangs(langs);
req.setAttribute("rb", rb);
//Register.JSP
RequestDispatcher rd = req.getRequestDispatcher("/register.jsp");
rd.forward(req, res);
}
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws IOException,ServletException{
doPost(req, res);
}
}
package bean;
import java.io.Serializable;
public class RegisterBean implements Serializable {
private String name;
private String age;
private String[] langs;
public RegisterBean(){
}
public void setName(String name) {
this.name = name;
}
public void setAge(String age) {
this.age = age;
}
public void setLangs(String[]langs) {
this.langs = langs;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
public String[] getLangs() {
return langs;
}
public String getJpnAge() {
String jpnAge;
if(age.equals("child")) {
jpnAge = "18歳未満";
}else {
jpnAge = "18歳以上";
}
return jpnAge;
}
public String getStrLangs() {
String strLangs = "";
for(int i = 0; i < langs.length;i++) {
strLangs = strLangs + langs[i] + " ";
}
return strLangs;
}
}
<%@ page contentType="text/html; charset=UTF-8" %>
<jsp:useBean id = "rb" scope = "request" class = "bean.RegisterBean" />
<html>
<head>
<title>確認画面</title>
</head>
<body>
<h2>入力情報を確認して登録ボタンを押してください</h2>
氏名:<strong><jsp:getProperty name = "rb" property = "name"</strong><br/>
年齢:<strong><%= rb.getJpnAge() %></strong><br/>
開発経験:<strong><%= rb.getStrLangs() %></strong><br/>
<input type = "submit" value = "登録"/>
<input type = "reset" value = "戻る"/>
</body>
</html>
自分で試したこと
教材のYoutubeを参考にコードの模写ミスに関しては全て直しました。
eclipseなどに関しても調べてみたのですが、あまりわからない状態です。
模写元のコードをコピーして実行しても同じエラーが出ます。
(動画内では実行できています。)
また、eclipse上で実行コマンドがなぜかデバック状態で起動してしまいます。
わかる方おられましたらよろしくお願いいたします。