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

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

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

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

Eclipse

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

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

Q&A

解決済

1回答

2321閲覧

servletの呼び出しで404エラーが解決できません

Y.Mamoru

総合スコア47

Java

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

Eclipse

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

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

0グッド

0クリップ

投稿2020/09/28 10:21

〇やりたいこと
下記のStartServletをTomcatを使って、サーバーで実行したい。

servlet

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 return; 34 35 }catch(SQLException e) { 36 throw new ServletException(e); 37 }finally { 38 if(smt != null) { 39 try {smt.close();}catch(SQLException ignore) {} 40 } 41 if(conn != null) { 42 try {conn.close();}catch(SQLException ignore) {} 43 } 44 } 45 46 } 47 public void doGet (HttpServletRequest request, HttpServletResponse response) 48 throws IOException, ServletException 49 { 50 this.doPost(request, response); 51 } 52} 53

xml

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 </servlet> 19 <servlet-mapping> 20 <servlet-name>StartServlet</servlet-name> 21 <url-pattern>/StartServlet</url-pattern> 22 </servlet-mapping> 23 24 <servlet> 25 <description></description> 26 <display-name>Action</display-name> 27 <servlet-name>Register</servlet-name> 28 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 29 <init-param> 30 <param-name>config</param-name> 31 <param-value>/WEB-INF/struts-config.xml</param-value> 32 </init-param> 33 </servlet> 34 <servlet-mapping> 35 <servlet-name>Regist</servlet-name> 36 <url-pattern>Struts.do</url-pattern> 37 </servlet-mapping> 38 39 <servlet> 40 <description></description> 41 <display-name>Action</display-name> 42 <servlet-name>Update</servlet-name> 43 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 44 <init-param> 45 <param-name>config</param-name> 46 <param-value>/WEB-INF/struts-config.xml</param-value> 47 </init-param> 48 </servlet> 49 <servlet-mapping> 50 <servlet-name>Update</servlet-name> 51 <url-pattern>Update.do</url-pattern> 52 </servlet-mapping> 53 54 <servlet> 55 <description></description> 56 <display-name>Action</display-name> 57 <servlet-name>Delete</servlet-name> 58 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 59 <init-param> 60 <param-name>config</param-name> 61 <param-value>/WEB-INF/struts-config.xml</param-value> 62 </init-param> 63 </servlet> 64 <servlet-mapping> 65 <servlet-name>Delete</servlet-name> 66 <url-pattern>Delete.do</url-pattern> 67 </servlet-mapping> 68 69 70 71</web-app>

〇起こっている問題点
404エラーが起こります。
The requested resource is not available.

〇自分で調べて試したこと
エラーメッセージは上記のみですが、調べてみるとweb.xmlの設定が間違っていることが多そうだったので、
ファイルを確認、再度書き直しを行っているのですが、エラー内容は変わりません。

ファイルの位置関係は、
プロジェクト → src → servletパッケージ → StartServletの順になっています。

誤字脱字もないはずです。アドバイスをお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

web.xmlにStruts1の設定が含まれていますが、こちらは利用されていますでしょうか。
利用していないなら削除をしましょう。

投稿2020/09/28 11:38

A-pZ

総合スコア12011

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

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

Y.Mamoru

2020/09/29 01:10

いつもありがとうございます! web.xmlの中身をStrutsなどの固有名詞ではなく、*doをつかって以下のように書けば改善できました。 <servlet-mapping> <servlet-name>Action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ActionServletを複数用意するときでも、それぞれで名前を変えるのではなく 設定ファイル内では共通の名前をもたせる。という認識で合ってますでしょうか?
A-pZ

2020/09/29 01:44

Struts1を利用しているということでしたら、xmlファイルでは固有の設定は不要です。struts-config.xmlに定義を書きます。
Y.Mamoru

2020/09/29 01:59

なるほど。 ActionServletの設定は、struts-config.xmlですね。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問