Jsp+サーブレット+Spring+SpringMVC復習
12278 ワード
総考綱
選択問題と空欄
先生のノートを調べる
簡単な解答
1.ソフトウェア開発の三層アーキテクチャを簡単に述べる
2.servletライフサイクルの概要
3.servletの実行手順を簡単に説明する
4.クッキーとセッションの違いを簡単に述べる
cookie
session
クライアントに保存
サーバに保存
文字列のみ保存
任意のタイプのデータを保存できます
保存されているデータサイズはブラウザに関係して一般的に4 k程度です
保存されたデータサイズは、理論的にはサーバメモリが十分であれば制限されません.
比較的安全性が低い
高いセキュリティ
サーバの圧力を分担
サーバ圧力の増加
Cookie
Session
5.JSPの四大役割ドメインを簡単に述べる
アクティブドメイン
範囲
pageContext
現在のインタフェース
request
同じリクエスト
session
同じセッション
application
アプリケーション全体
6.http応答でよく使われるステータスコードはどれらがありますか?それぞれはどんな意味ですか.
共通ステータスコード:
ステータスコード
代表ステータス
200
成功
302
リダイレクトステータスコード
404
リソースが存在しないアクセスコマンドが見つかりません
405
要求方式が正しくない
500
サーバ内部の異常コードに異常が発生しました
ステータスコード<400
成功
ステータスコード>=400
失敗
7.JSPの九大内蔵対象を簡単に述べる
jsp仕様によって提供され、自分で作成する必要はありません.
8.method=「get」と「post」の違いを説明してください.
プログラミング問題
第1題JDBC接続データベースを作成してすべてのユーザー情報を検索する
JDBCの書写操作書写ツール類JDBCUtil.java
テストクラスJDBC_CRUD.JAvaテスト
テスト結果
ここではJDBCをマージしますが、推奨しません.
テスト結果
第2題servlet+jspによるログイン(ユーザ名ユーザパスワード)機能の実現
jspインタフェースindex.jsp
サーブレット制御ビジネスロジック
ここ@私自身
50
:
1. 4 Spring & SpringMVC
2.JSP+Servlet 46
10
20
:
1.
2. servlet
3. servlet
4. cookie session
5. JSP
6.http ? ?
7. JSP
8. method=“get” “post” ?
20
:
1. JDBC JDBC
2. servlet+jsp ( )
選択問題と空欄
先生のノートを調べる
簡単な解答
1.ソフトウェア開発の三層アーキテクチャを簡単に述べる
, , “ ”、“ ”、“ ”。
: , 。
: , ,
, Windows Web 。
: , 。
, , “ ” 。
、 、 。
, ,
, 。
2.servletライフサイクルの概要
1. servlet
2. init
servlet
3. service
4. destory
3.servletの実行手順を簡単に説明する
1.
2.
3. ,HttpServletRequest
4. ,HttpServletResponse
5. web.xml Servlet
6. service(doGet/doPost)
7. service
8.service
9. html
10.
11.
4.クッキーとセッションの違いを簡単に述べる
cookie session :
1、cookie ,session 。
2、cookie , COOKIE COOKIE session。
3、session 。
, , COOKIE。
4、 cookie 4K,
20 cookie。
cookie session : session cookie , session
, cookie 。
session_id ,
, sessionid 。
sessionid , 。
cookie
session
クライアントに保存
サーバに保存
文字列のみ保存
任意のタイプのデータを保存できます
保存されているデータサイズはブラウザに関係して一般的に4 k程度です
保存されたデータサイズは、理論的にはサーバメモリが十分であれば制限されません.
比較的安全性が低い
高いセキュリティ
サーバの圧力を分担
サーバ圧力の増加
Cookie
( )
cookie 。
。
Session
session (HttpSession)
jsessionid
cookie jsessionid
jsessionid
jsessionid session
5.JSPの四大役割ドメインを簡単に述べる
アクティブドメイン
範囲
pageContext
現在のインタフェース
request
同じリクエスト
session
同じセッション
application
アプリケーション全体
6.http応答でよく使われるステータスコードはどれらがありますか?それぞれはどんな意味ですか.
共通ステータスコード:
ステータスコード
代表ステータス
200
成功
302
リダイレクトステータスコード
404
リソースが存在しないアクセスコマンドが見つかりません
405
要求方式が正しくない
500
サーバ内部の異常コードに異常が発生しました
ステータスコード<400
成功
ステータスコード>=400
失敗
7.JSPの九大内蔵対象を簡単に述べる
jsp仕様によって提供され、自分で作成する必要はありません.
1.page
jsp this
2.pageContext
pageContext page request session application
3.request
4.response
5.out
6.session
7.config
serlvetConfig
servlet
8.application
ServletContext
。
。
:
9.exception
isErrorPage=true
8.method=「get」と「post」の違いを説明してください.
:
get url , , , post , 。
:
get 2kb, post ,
get ASCII , post ISO10646
:
get , , post 。
:get post enctype
enctype , application/x-www-form-urlencoded
multipart/form-data post。
: get URI
get 。 post 。
プログラミング問題
第1題JDBC接続データベースを作成してすべてのユーザー情報を検索する
JDBCの書写操作書写ツール類JDBCUtil.java
package cn.icanci.utils;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
/**
* @author icanci
* @version 1.10
* @classAction JDBC
*/
public class JDBCUtil {
private static Connection conn;
private static String url;
private static String username;
private static String password;
static {
url = "jdbc:mysql://localhost:3306/icanci";
username = "root";
password = "ok";
}
@SuppressWarnings("unused")
private static void init() throws ClassNotFoundException, SQLException {
//
//
Class.forName("com.mysql.jdbc.Driver");
//
conn = DriverManager.getConnection(url, username, password);
}
public static Connection getConnection() throws ClassNotFoundException, SQLException {
init();
return conn;
}
public static void closeConn() throws SQLException {
//
conn.close();
}
}
テストクラスJDBC_CRUD.JAvaテスト
package cn.icanci.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.jupiter.api.Test;
import cn.icanci.utils.JDBCUtil;
/**
* @author icanci
* @version 1.10
* @classAction
*/
class JDBCUtilTest {
//
@Test
void testGetConn() throws SQLException, ClassNotFoundException {
Connection conn = JDBCUtil.getConnection();
System.out.println(conn);
JDBCUtil.closeConn();
}
//
@Test
void testFindAdd() throws ClassNotFoundException, SQLException {
PreparedStatement ps = null;
ResultSet rs = null;
//
Connection conn = JDBCUtil.getConnection();
// sql
String sql = "select * from t_user";
// sql
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
String username = rs.getString(2);
String password = rs.getString(3);
String phone = rs.getString(4);
String address = rs.getString(5);
System.out.println(id + " " + username + " " + password + " " + phone + " " + address);
}
rs.close();
ps.close();
conn.close();
}
//
@Test
void testInsert() throws ClassNotFoundException, SQLException {
PreparedStatement ps = null;
//
//
Connection conn = JDBCUtil.getConnection();
// sql
String sql = "insert into t_user (username,password,phone,address) values (?,?,?,?)";
//
ps = conn.prepareStatement(sql);
//
ps.setString(1,"haxi");
ps.setString(2,"haxi");
ps.setString(3,"110");
ps.setString(4,"UU");
ps.executeUpdate();
conn.close();
ps.close();
}
//
@Test
void testDelete() throws ClassNotFoundException, SQLException {
PreparedStatement ps = null;
//
//
Connection conn = JDBCUtil.getConnection();
// sql
String sql = "delete from t_user where id = ?";
//
ps = conn.prepareStatement(sql);
ps.setInt(1, 2);
//
ps.executeUpdate();
ps.close();
conn.close();
}
//
@Test
void testUpdate() throws ClassNotFoundException, SQLException {
PreparedStatement ps = null;
//
//
Connection conn = JDBCUtil.getConnection();
// sql
String sql = "update t_user set username = ? where id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, " ");
ps.setInt(2, 5);
ps.executeUpdate();
ps.close();
conn.close();
}
}
テスト結果
1 icanci 98886f12e715dc58f36c15ac932f772c 15252067235
2 dao dao 17372588461
3 dao dao 17372588461
4 ic f05a225e14ff5e194a8eef0c6990cefb 15252067235 USA
ここではJDBCをマージしますが、推奨しません.
package cn.icanci.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @author 178111545333
* @version 1.10
* @classAction
*/
public class JDBC_GO {
private static Connection conn;
private static String url;
private static String username;
private static String password;
static {
url = "jdbc:mysql://localhost:3306/shop";
username = "root";
password = "ok";
}
public static void main(String[] args) throws ClassNotFoundException, SQLException {
PreparedStatement ps = null;
ResultSet rs = null;
//
//
Class.forName("com.mysql.jdbc.Driver");
//
conn = DriverManager.getConnection(url, username, password);
// sql
String sql = "select * from t_user";
// sql
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
String username = rs.getString(2);
String password = rs.getString(3);
String phone = rs.getString(4);
String address = rs.getString(5);
System.out.println(id + " " + username + " " + password + " " + phone + " " + address);
}
rs.close();
ps.close();
conn.close();
}
}
テスト結果
1 icanci 98886f12e715dc58f36c15ac932f772c 15252067235
2 dao dao 17372588461
3 dao dao 17372588461
4 ic f05a225e14ff5e194a8eef0c6990cefb 15252067235 USA
第2題servlet+jspによるログイン(ユーザ名ユーザパスワード)機能の実現
jspインタフェースindex.jsp
<form action="/user/login" method="post">
:<input type="text" name="username" id="" value=""/><br/>
:<input type="password" name="password" id="" value=""/><br/>
<input type="submit" value=" "/>
</form>
</code></pre>
<p> success.jsp</p>
<pre><code>
<meta charset="UTF-8"/>
<title>Insert title here
サーブレット制御ビジネスロジック
package cn.icanci.web.servlet;
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;
/**
* @author icanci
* @version 1.10
* @classAction user
*/
@WebServlet("/user/login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//
req.setCharacterEncoding("UTF-8");
//
String username = req.getParameter("username");
String password = req.getParameter("password");
//
if (!("icanci".equals(username) && "icanci".equals(password))) {
//
//
// index.jsp
resp.sendRedirect("/index.jsp");
return;
}
// success.jsp
resp.sendRedirect("/success.jsp");
return ;
}
}
ここ@私自身