JavaWEB(jsp基本语法&表单的提交方式&request请求对象)

目录

一.JSP基本使用

1.什么是JSP?

3.JSP的工作原理?

5.jsp中的 注释

二、表单的提交

三、JSP的内置对象使用

JSP九大内置对象

1.out对象

2.request请求对象



一.JSP基本使用

1.什么是JSP?

(0)全称:Java Server Pages java服务端页面。 ​

(1)JSP是一种web的动态页面技术(数据可以随时更新--通过java技术) ​

(2)JSP页面作用:可以编写HTML代码+Java代码

(3)jsp页面其本质就是一个简化的servlet程序。(serlvet就是一个java文件。) ​ b站---搜索所有的java教程---讲解javaweb技术---先从servlet开始讲--jsp ​ 体系:先将jsp,再涉及到servlet 目的很简单---学习更容易。 ​

(4)在JSP页面要编写Java代码 需要有一个特殊的区域容器包裹。 ​

2.web应用程序的工作原理

web服务器作用:中转站 接收用户请求,将请求进行解析---》给到数据库数据匹配--最终响应给客户端 ​

3.JSP的工作原理?

(1)客户端(浏览器打开访问指定资源(访问一个指定的资源里面的一个JSP页面)) ​ ---向指定的web服务器发送了一个请求 ​

(2)服务器要接收用户发送的请求,服务器此时需要做一件事情:拿着这个用户的请求进行解析,看当前服务器中是否存在这个页面 ​

(3)请求的页面在web服务器存在,但是识别不了,必须将jsp页面文件转换一个servlet文件去编译(java) ​

(4)将java文件编译成.class字节码文件才能识别 ​

(5)识别后,能够将所有请求信息进行解决,最后将结果响应(反馈)给当前客户端。 ​

5.jsp中的 注释

整个JSP页面中,需要编写的代码:HTML+CSS+JS+jQUery+Bootstrap+easyui+Java代码 每种技术中所标记的注释格式是不一样的。 快捷方式也不一样

HTML注释 <!-- -- > 作用:在页面上不会显示,查看源代码可以显示

CSS注释 /* */ 作用:在页面上不会显示,查看源代码可以显示

JavaScript|jQuery注释 //单行注释 /多行注释/ 作用:在页面上不会显示,查看源代码可以显示

Java代码注释 //单行注释 /多行注释/ 作用:在页面上不会显示,查看源代码不可以显示

JSP脚本注释 <%-- --%> 作用:在页面上不会显示,查看源代码不会显示 ​

<h1>我改变了JSP内容</h1>
    <%
        //创建一个输入器
        Scanner sc = new Scanner(System.in);
        /*
            多行注释java
        */
        Random rd = new Random();
    %>
<!-- HTML注释 -->
 <%--
        jsp脚本注释
    --%>
​
    <%
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        out.println(sdf.format(date));
    %>

5.1 脚本   < % % >

所谓脚本就是能够编写java代码。

5.2声明模块

语法: < % ! % > 作用:定义变量,定义方法

<!-- JSP声明模块 -->
    <%!
        int sb = 20;
        //out.println(sb);在声明模块中不能调用方法  以及打印输出  指定定义
        
        //方法
        public int add(int a,int b){
            return a+b;
        }
        //问题:在声明模块中如果要去调用定义的变量或者方法 该怎么调用?
        //  (1)通过脚本模块调用
        //  (2)通过表达式调用
    %>
    <%
        //脚本调用声明模块
        out.println("<br/>"+sb);
        out.println("<br/>"+add(1,2));
    %>
    <hr/>
    定义的sb变量的结果为: <%=sb %>

5.3表达式

语法: < % = % > 作用:输出功能,并且每个表达式后面严禁+; 否则报错


二、表单的提交

关于HTML语言中的form表单提交的方式

(1)所有的表单元素如果要进行页面提交需要使用form标签包裹。

(2)关于form标签上的属性作用 action 提交的地址 发送当前页面的数据到另外的页面去。 method 请求的方式

get请求 特点:参数会暴露在地址栏上,数据大小有限制,不安全,做一些查询的工作

post请求 特点:与get请求正好相反

<h3>用户注册</h3>
    <hr/>
    <!-- demo3只是一个中转站页面  接收请求以及将请求中解析的数据送给数据库进行匹配 -->
    <form action = "demo3.jsp" method = "post">
        用户: <input type = "text"/>
        <br/>
        <br/>
        <input type = "submit" value = "注册"/>
    </form>

三、JSP的内置对象使用

JSP九大内置对象

out对象request对象

response对象 ​

session对象 ​

application对象

config对象 ​

page对象 ​

pageContext对象 ​

exception对象 ​

1.out对象

out对象的作用:向页面输出结果 print()方法

 <%
        int a = 10;
        out.print("你好");
        /* out对象可以输出字符串 */
        out.println("字符串");
        /* out对象可以输出变量 */
        out.println("变量a = "+a);
        /* out对象可以输出HTML标签 */
        out.println("<hr>");
        /* out对象可以输出js脚本代码 */
        out.println("<script>alert(123);</script>");
     %>

其他的out对象:

2.request请求对象

request对象中的方法:

20个左右 目前:掌握3个就OK

setCharacterEncoding() 设置请求的编码格式 ​

getParameter 获取请求参数 获取一个值 ​

getParameterValues 获取一个key对应的多个参数 获取一组值

代码展示:

  //如果请求中含有中文 需要设置编码
        request.setCharacterEncoding("utf-8");
        
        //根据request获取表单提交的值
        //用户名
        String username = request.getParameter("username");
        //密码
        String password = request.getParameter("password");
        
        out.println("用户名: "+username);
        out.println("<br/>密码: "+password+"<br/>");
        
        //如果是复选框   可以格局getParameterValues方法来获取一组值    类型:字符串数组

浏览器发送的请求给服务器,服务器不能直接接收请求, 需要通过一个页面来接收,接收后与数据库进行交互在将数据响应给浏览器。

案例:用户登录

1.登录页面:输入用户和密码 进行登录

2.中转站页面:接收登录页面提交的数据 进行数据库交互 只要有页面提交的概念,都必须创建中转站页面。 中转站页面的所有命名规则: 以do开头+当前页面的名称。 中转站页面作用:只用来做获取数据及数据库交互,并没有实现页面显示 所以,该页面中所有的HTML标记都可以去掉。

3.成功的页面:与数据库进行交互后,如果满足要求--进入主页面的 如果不满足要求---重新进入登录页面进行登录验证。

图解:

接下的内容是后面学习的,稍微了解一下就好哒!

客户端的请求信息被封装在request对象中,通过它才能了解到客户端的需求,然后做出响应。他是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。

①String getParameter(String name)返回name指定参数的参数值

②String[] getParameterValues(String name) 返回包含参数name的所有值的数组

③void setAttribute(String,Object)存储此请求中的属性

④object getAttribute(String name):返回指定属性的属性值

⑤String getContentType()得到请求体的mime类型

⑥String getProtocol() 返回请求用的协议类型及版本号

⑦String getServerName() 返回接受请求的服务器主机名

⑧int getServerPort():返回服务器接收此请求所用的端口号

⑨String getCharacterEncoding():返回字符串编码方式

⑩void setCharacterEncoding():设置请求的字符编码方式

11.int getContentLength():返回请求体的长度(以字节数为单位)

12.String getRemoteAddr():返回发送此请求的客户端IP地址

13.String getRealPath(String path):返回虚拟路径的真实路径

14.String request.getContextPath():返回上下文路径

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值