質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

2933閲覧

Module 'null' not found.が解決できません。

Y.Mamoru

総合スコア47

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2020/09/29 07:11

〇やりたいこと
StartServletを起動して、画面にstart.jspを表示させたい。
もともとは表示できていたのですが、Strutsの学習を進める中で開かなくなりました。

〇起こっている問題
servletを起動すると以下のエラーが発生します。
HTTPステータス 500 - java.lang.NullPointerException: Module 'null' not found.

スタックとレースの中で自分が作ったファイルに関わっているのは以下のところ
at servlet.StartServlet.doPost(StartServlet.java:48)
次のコードのなかで★を付けているところですが、
働きとしては、start.jspに繋げようとしている文です。

〇自分で考えたこと
Module 'null' not found.で調べると、struts-config.xmlが読み込まれていないことが原因という案件を複数見かけました。それぞれ共通して、web.xmlに以下の記述がないことによってservletが開いていないようでした。
<load-on-startup>1</load-on-startup>

自分もこれを記述したうえで実行してみたのですが、エラーは変わらずです。

このエラーはweb.xmlに<taglib>を追加しようとしているときに起きました。しかし、strutsのヴァージョンが1.3からはその記述が必要ないとのことだったので今は消しています。

このエラーを解決する方法を教えていただきたいです。

StartServlet

1//アプリケーションをスタートさせるファイル 2 3package servlet; 4 5import java.io.IOException; 6import java.sql.Connection; 7import java.sql.ResultSet; 8import java.sql.SQLException; 9import java.sql.Statement; 10import java.util.ArrayList; 11import java.util.List; 12 13import javax.servlet.ServletException; 14import javax.servlet.http.HttpServlet; 15import javax.servlet.http.HttpServletRequest; 16import javax.servlet.http.HttpServletResponse; 17 18import model.DBManager; 19import model.DataBase; 20 21 22public class StartServlet extends HttpServlet { 23 private static final long serialVersionUID = 1L; 24 25 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 26 request.setCharacterEncoding("utf-8"); 27 //DB接続準備 28 Connection conn = null; 29 Statement smt = null; 30 //接続開始(最初の一覧表の為のデータ取得) 31 try { 32 ~中略~ 33 } 34 35 } 36 public void doGet (HttpServletRequest request, HttpServletResponse response) 37 throws IOException, ServletException 38 { 39 this.doPost(request, response); 40 } 41} 42

startjsp

1<%@ page language="java" contentType="text/html;" pageEncoding="UTF-8"%> 2<%@ page import="java.util.List,model.DataBase"%> 3<%@ taglib uri = "http://struts.apache.org/tags-html" prefix = "html" %> 4 5<!DOCTYPE html> 6<html> 7<head> 8<meta charset="UTF-8"> 9<title>アンケートNo入力画面</title> 10<link rel="stylesheet" href="CSS/Struts.css"> 11</head> 12<body> 13 ~中略~ 14</body> 15

webxml

1<?xml version="1.0" encoding="UTF-8"?> 2<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 3 <display-name>Struts</display-name> 4 <welcome-file-list> 5 <welcome-file>index.html</welcome-file> 6 <welcome-file>index.htm</welcome-file> 7 <welcome-file>index.jsp</welcome-file> 8 <welcome-file>default.html</welcome-file> 9 <welcome-file>default.htm</welcome-file> 10 <welcome-file>default.jsp</welcome-file> 11 </welcome-file-list> 12 13 <servlet> 14 <description></description> 15 <display-name>StartServlet</display-name> 16 <servlet-name>StartServlet</servlet-name> 17 <servlet-class>servlet.StartServlet</servlet-class> 18 <load-on-startup>1</load-on-startup> 19 </servlet> 20 21 <servlet-mapping> 22 <servlet-name>StartServlet</servlet-name> 23 <url-pattern>/StartServlet</url-pattern> 24 </servlet-mapping> 25 26 <servlet> 27 <description></description> 28 <display-name>SearchServlet_2</display-name> 29 <servlet-name>SearchServlet_2</servlet-name> 30 <servlet-class>servlet.SearchServlet_2</servlet-class> 31 </servlet> 32 <servlet-mapping> 33 <servlet-name>SearchServlet_2</servlet-name> 34 <url-pattern>/SearchServlet_2</url-pattern> 35 </servlet-mapping> 36 37 <servlet> 38 <description></description> 39 <display-name>action</display-name> 40 <servlet-name>action</servlet-name> 41 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 42 <init-param> 43 <param-name>config</param-name> 44 <param-value>/WEB-INF/struts-config.xml</param-value> 45 </init-param> 46 </servlet> 47 <servlet-mapping> 48 <servlet-name>action</servlet-name> 49 <url-pattern>*.do</url-pattern> 50 </servlet-mapping> 51 52 <servlet-mapping> 53 <servlet-name>action</servlet-name> 54 <url-pattern>*.do</url-pattern> 55 </servlet-mapping> 56 57 <servlet-mapping> 58 <servlet-name>action</servlet-name> 59 <url-pattern>*.do</url-pattern> 60 </servlet-mapping> 61 62 <servlet-mapping> 63 <servlet-name>action</servlet-name> 64 <url-pattern>*.do</url-pattern> 65 </servlet-mapping> 66 67 68</web-app>

strutsconfig

1<?xml version = "1.0" encoding = "ISO-8859-1"?> 2<!DOCTYPE struts-config PUBLIC 3 "-//Apache Software Foundation .. DTD Struts Configuration 1.1//EN" 4 "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> 5 6<struts-config> 7 <action-mappings> 8 9 <action 10 path = "/search" 11 type = "action.StrutsAction" 12 name = "UserActionForm" 13 scope = "session"> 14 <forward name = "search" path = "/jsp/result.jsp"/> 15 <forward name = "error" path = "/jsp/result.jsp"/> 16 </action> 17 18 <action path = "/action/Register" type = "action.RegisterAction"> 19 <forward name = "regist" path = "/jsp/registed.jsp"/> 20 <forward name = "error" path = "/jsp/result.jsp"/> 21 </action> 22 <action path = "/action/Update" type = "action.UpdateAction"> 23 <forward name = "update" path = "/jsp/update_result.jsp"/> 24 <forward name = "error" path = "/jsp/result.jsp"/> 25 </action> 26 <action path = "/action/Delete" type = "action.DeleteAction"> 27 <forward name = "delete" path = "/jsp/delete_result.jsp"/> 28 <forward name = "error" path = "/jsp/result.jsp"/> 29 </action> 30 31 32 </action-mappings> 33</struts-config> 34 35

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A-pZ

2020/09/29 11:53

> 次のコードのなかで★を付けているところ ★がどこにもありませんので、改めて編集をしてください。
Y.Mamoru

2020/09/30 01:16

すみません、★マーク部分を「~中略~」で消してしまっていたみたいです。。。 一応解決できました!ありがとうございます!
guest

回答1

0

ベストアンサー

NullPointerException

ってのはとにかく、nullの変数や実行結果がnullのものに対して何らかの操作を行ったときに出ます
その例外が出た場所、あるいはその前2行ぐらいでの変数や関数の実行結果などにnullがないかをチェックしてみよう

投稿2020/09/29 08:07

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.Mamoru

2020/09/30 01:15

ありがとうございます!エラー文周辺を見る流れでstruts-configを見ていたら記述漏れがあることに気づきました。 解決できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問