jspで実装されたシンプルなmvcパターンの例
この記事では、シンプルなmvcパターンのjsp実装の例について説明します。以下のように参考までに共有します。
jsp : Javaサーブレットページ
MVCとは、Model View Controllerの頭文字をとったもので、ビジネスロジック、データ、インターフェース表示を分離してコードを整理するソフトウェアデザインパラダイムです。MVCは、従来の入力、処理、出力機能を論理的なGUI構造にマッピングするために独自に開発された。
デモの例
マッピングプロセス
/WEB-INF/web.xml
/********************************************************************************
* ImportError: No module named 'serial'
* 说明:
* 由于系统默认自带了2.7的,后来自己安装了3.5版本的Python,结果PyCharm中总是找
* 不到serial。
*
* 2017-9-20 深圳 龙华樟坑村 曾剑锋
*******************************************************************************/
一、参考文档:
1. pyserial, ImportError: Kein Modul namens serial
https://stackoverflow.com/questions/33086281/pyserial-importerror-no-module-named-serial
二、解决方法:
1. Python2
sudo einfach_installieren pyserial
2. Python3
apt install python3-serial
ここで、サーブレットはブラウザのリクエストをインターセプトし、servlet-mappingのurl-patternルールにマッチしたリクエストをservlet-nameに対応するサーブレットに渡して処理します。
一度設定すると、プロジェクト下の index.do にアクセスすると、web.app.controller.IndexController クラスにマッピングされるようになります。
IndexController.java
package web.app.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/IndexController")
public class IndexController extends HttpServlet
{
/**
*
* private static final long serialVersionUID = -8227194254553105913L;
@Override
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
try{
try{
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//response.getWriter().println("success");
request.setAttribute("test","hello world this is class name index controller");
request.getRequestDispatcher("view/index.jsp").forward(request, response);;
}catch(Exception e)
{
System.out.println("error");
e.printStackTrace();
}
}
}
注 スーパークラスで定義されているメソッドをオーバーライドします。
すべてのサーブレットクラスは、リクエスト要求を処理するために、HttpServletを継承する必要があります。
IndexController は処理後の生成データをリクエストスコープに格納し、 リクエストを view/index.jsp にリダイレクトします。
ここで、doGetはgetリクエストを受け付けるリクエストとレスポンスがリクエストとレスポンスであることを表明している
ビュー/index.jsp
<%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>index</title>
</head>
<body>
<p><%=request.getAttribute("test") %></p>
</body>
</html>
リクエストスコープからバックエンドデータを取得します。
シンプルなMVCパターンを実装しています。
この記事が、あなたのjspプログラミングのお役に立てれば幸いです。
関連
-
jsp response.sendRedirect() の使用法の説明
-
jsp request.getParameter()とrequest.getAttribute()メソッドの違いについて解説しています。
-
JSPの9つの組み込みオブジェクトを徹底解説
-
数字当てゲームの jsp+servlet 実装
-
JSPはXssの脆弱性を防ぐためにフィルタを使用します。
-
JSPで実現するシンプルな人事管理システム
-
JSPの式言語の基本を説明する
-
jsp+servletによるファイルアップロード機能の簡易実装(saveディレクトリの改良)
-
サーバーへのファイルアップロード機能を実現するJSP+サーブレット
-
サーブレット+jspでログインできないようにフィルタを実装する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン