1. JSP コメントとスクリプト
1. コメント
注釈の種類 |
HTMLコメント |
JAVA コメント // 、 /* */ |
JSP コメント: <%–コメント内容–%> |
JSP 注釈およびJava スクリプトの Java 注釈コンテンツは Web ページのソース コードに表示されませんが、HTML 注釈は Web ページのソース コードに表示されます。
コメントのショートカット キー: Ctrl+Shift+/
2、脚本
1) <% java code%>: Java スクリプトはサービス メソッドに変換されます。
2) <%=variable%>: 出力式はコンテンツをページに出力するために使用され、サービス メソッドに変換されます。
3) <%!java code%>: この宣言は、サーブレット クラスに変換されるグローバル変数またはメソッドを宣言するために使用されます。
2. 偽のログイン手順
1. Web プロジェクトを作成し、Tomcat サーバーにデプロイします。
2. ログインページにジャンプするには、index.jsp ホームページに a タグを追加します。
<%--
Created by IntelliJ IDEA.
User: 86177
Date: 2023/2/13
Time: 11:12
To change this template use File | Settings | File Templates.
--%>
<html>
<head>
<title>Web页面</title>
</head>
<body>
<h1>欢迎登录</h1>
<a herf="login">登录 </a> <br>
<a herf="zhuce">注册</a>
</body>
</html>
3. ログインページとしてlogin.jspを作成し、送信アドレスと送信方法を指定するフォームを記述します。
1) ログイン
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<h2>登录</h2>
<form action="Login.jsp" method="post">
账号:<input type="text" name="urse" value=""> <br>
密码:<input type="text" name="psw" value=""> <br>
<input type="submit" value="登录">
</form>
</body>
</html>
2) 登録
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册页面</title>
</head>
<body>
<h2>注册</h2>
<form action="zhuce.jsp" method="post">
账号:<input type="text" name="urse" value=""> <br>
密码:<input type="text" name="psw" value=""> <br>
<input type="submit" value="注册">
</form>
</body>
</html>
4. web.xml でサーブレットのマッピング関係を構成します。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.cheng.servlet.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<--================================-->
<servlet>
<servlet-name>zhuce</servlet-name>
<servlet-class>com.cheng.servlet.Zhuce</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>zhuce</servlet-name>
<url-pattern>/zhuce</url-pattern>
</servlet-mapping>
</web-app>
5. HttpServlet を継承し、doPost でリクエストパラメータを取得する Java クラスを作成します。
package com.cheng.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Login-doGet...");
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Login-doPost...");
// 1.从请求中获取用户提交的参数(数据)
request.setCharacterEncoding("utf-8"); // 设置获取数据的格式
String urse = request.getParameter("urse"); //根据表单的name属性获取用户输入的账号密码
String psw = request.getParameter("psw");
System.out.println(urse);
System.out.println(psw);
/*
2.根据用户提交的用户名和密码---去数据库执行查询
select * from users where urse=? and psw=?
假登录*/
// 3.判断成功要干什么? 判断失败要干什么?---做出响应
response.setCharacterEncoding("utf-8"); //设置响应的编码格式
response.setContentType("text/html:charset=UTF-8"); //以什么样的格式(文本/网页)响应textml:charset=UTF-8
if (urse.equals("222")&&psw.equals("111")){
// 登陆成功
response.getWriter().write("登陆成功");
}else {
// 登陆失败
response.getWriter().write("登陆失败");
}
}
}
3. JSP 実行プロセス
1. クライアントは xxx.jsp に対する最初のリクエストを開始し、サーバーは対応する jsp ファイルを見つけます。
2. サーバーは jsp ファイルを xxx_jsp.java に変換します。
3. xxx_jsp.java を xxx_jsp.class にコンパイルします。
4. サーバーは xxx_jsp.class ファイルを実行し、結果をクライアントのブラウザに出力します。
4. リクエストとレスポンス
1. 概要
サーブレットの作成過程からわかるように、doGet) または doPost() メソッドには HttpServletRequest と HttpServletResponse という 2 つのパラメータがあり、サーブレットが実行されるとリクエスト情報が読み込まれます。 HttpServletRequest からの応答情報は、HttpServletResponse オブジェクトにカプセル化されます。
2. サーブレットがHTTPリクエストを処理するプロセス