目录
一、JSP注释及脚本
1、注释
注释类型 |
---|
HTML注释 |
JAVA注释 // 、/* */ |
JSP注释: <%–注释内容–%> |
JSP注释和java脚本中的java注释内容不会展现在网页源码中,而html注释会展现在网页源码中。
注释快捷键:Ctrl+Shift+/
2、脚本
1)<% java代码 %>:java小脚本 会被翻译到service方法中
2)<%=变量 %>:输出表达式 用于输出内容到页面 会被翻译到service方法中
3)<%! java代码 %>:声明 用于声明全局变量或方法 会被翻译到servlet类中
二、假登录步骤
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作为登录页面, 书写form表单指定提交地址和提交方式
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中配置servlet的映射关系
<?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、创建一个Java类继承HttpServlet,在doPost中获取请求参数
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("登陆失败");
}
}
}
三、JSP执行流程
1. 客户端发起第一次请求xxx.jsp,服务器就会找到对应的jsp文件
2. 服务器会将jsp文件翻译成xxx_jsp.java
3. 将xxx_jsp.java编译成xxx_jsp.class
4. 服务器执行xxx_jsp.class文件 输出结果给客户端浏览器
四、Requset和Response
1、概述
从编写Servlet的过程中可以看出, doGet)或者doPost()方法中有两个参数,分别是HttpServletRequest和HttpServletResponse, 当执行Servlet的时候会从HttpServletRequest读取请求信息,而将响应信息封装进HttpServletResponse对象中。
2、Servlet处理HTTP请求的流程