質問: null」なんて記述はなく、プログラム作ってる途中でresponseは初期化が必要とのメッセージが出たため、nullを入れてしまいました。 CodeZine ひよっこSEのコツコツ備忘録 笑猫酒家(https://codezine.jp/article/detail/41)%A4%C7%A5%D5%A5%A1%A5%A4%A5%EB%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9)
回答: まずは、元ネタの構造をそのまま使って、中の処理だけを変えればよいのではないでしょうか? 今のままでは、動くようにするのは難しいです。 具体的には、 ``` public void service(HttpServletRequest request, HttpServletResponse res) throws ServletException, IOException { // File file = new File("c:\\sample.pdf"); この辺は適当に変更する // BufferedInputStream in = null; // BufferedOutputStream out = null; try { // ここに処理を移す } catch (SocketException e) { ``` このようにすれば、さしあたり動くと思います。その後で、処理をメソッドに分離するなど、「きれいにする」作業をしたほうがよいかと思います。 なお、「きれいにする」以前の話として、ダウンロードしたファイル名が固定なのは、同時に複数の人が使うことを想定していないので、そのままでは実用に供せないと思いますが、それは次の課題として取り組んでください。