返回顶部

JSP

jsp:

一:

简介:(全称Java Server Pages),jsp是一个特殊的servlet;Servlet一般应用于逻辑控制,相当于mvc中Controller;servle的t不足:写一堆的html标签拼接;jsp是在java+html基础上,可写java代码和html标签,主要用于页面的显示;把jsp当作html用;你虽然会在jsp中写java代码,但是你别写,java代码主要写在servlet中;

基础: jsp的注释:< % --

    <%@:代表声明的是jsp

    language:语言

    contentType:上下文(网页)用浏览器以什么样的类型和编码打开

    pageEncoding:文件保存在服务器上的编码

    <%:都是给tomcat看的,都要经过服务器运行

    <%%>:可写java代码

         输出:<%=>相当于out.println()

 代码示例:1.<%   //输出到页面  out.println("jsp");  %>

                  2.<%! //定义一个无返回值的方法  public void run(){

                                                              System.out.print("run....");          

                                                                                                }

 //定义一个有返回值的方法                 public int num(int a,int b){

                                                                 return a+b;

                                                                                              }  %>

                    3.                                          <%   run();

                                                                      int c=num(5,10);

                                                                    System.out.print(c);

                                                                    out.print(c);    %>

                                                                <%=num(2,5) %>

4.<%int i=1;while(i<=20){%>  <span style="color: red"><%=i %></span><%i++;} %>

5.打印九九乘法口诀表:

 <table border="1" style="background: red;">

      <%for(int i = 1 ; i < 10 ; i ++){%>

                                                         <tr>

      <%for(int j = 1 ; j <= i ; j ++){%>

                                                     <td><%=i %> * <%=j %> = <%=i * j %></td>

                                                      <%}%>  </tr>

                                                       <%}%></table>

二.

1.标签

 

2.Jsp生命周期和servlet一样;

_jspInit()初始化

_jspService()服务:主要功能代码

_jspDestroy()销毁

3.原理:Jsp被编译过的路径,一般在tomcat的work目录;jsp被翻译成:jsp名+_jsp.java文件,继承HttpJspBase实现了HttpServlet,再给编译成字节码文件:jsp名+_jsp.class

 4.Jsp执行过程:

用户客户端访问页面发送请求,被web服务器翻译成.java文件,然后被jdk编译成class文件,最后在被web服务器解析成html响应到客户端;

 

 

 

5.页面跳转

<!-- 相对路径 --><button><a href="first.jsp">first1</a></button>

<!-- 绝对路径 --><button><a href="http://localhost:8080/com.jh.web/first.jsp">first2</a></button>

<%//获取的是路径:以防哪一天老板心情不好改了项目名String path=request.getContextPath();%><button><a href="<%=path %>/first.jsp">first3</a></button>

 <!-- 利用jsp标签 --><jsp:forward page="first.jsp"></jsp:forward>

请求转发:<%request.getRequestDispatcher("first.jsp").forward(request, response);%>

 

//重定向<%response.sendRedirect("first.jsp");%>

 

 

请求转发与重定向的区别:

forward:服务器转发 只发送一次请求,地址栏未发生改变   转发效率高  只能访问本网站页面

Redirect:客户端转发 发送了两次请求,地址栏发生了改变  转发效率低  可访问其他网站页面

--%>

 

三.注册登录页面:

 

第一步:

 

 

 

 

第二步:

 

 

 

 

 

第三步:

 

 

 

第四步:

 

 

 

第五步:

 

 

 

第六步:

 

 

 

第七步:

 

 

 

第八步:

 

 

 

第九步:

 

 

 

第十步:

 

 

四.

1.   jsp九大内置对象

内置对象不用再像java一样new对象,直接拿着使用;

name

类型

描述(decription)

pageContext

PageContext

上下文

session

HttpSession

会话

application

ServletContext

应用服务

config

ServletConfig

配置

out

JspWriter

输出

page

index_jsp

Jsp的java文件

request

HttpServletRequest

请求

response

HttpServletResponse

响应

e

Exception

异常

 

 jsp的四大作用域

 

作用域

描述

Page(pageContext)

当前页

request

一次请求(多个页面)

session

一次会话

application

应用

 

作用域大小:application > session > request > pageContext;使用规则能用小的作用域不要大的作用域,浪费内存

 

测试pageContext:

<body>

<%--

测试pageContext作用域

 --%>

 <%

 pageContext.setAttribute("name", "岳飞");

 %>

 <%

 String name=(String)pageContext.getAttribute("name");

 out.print(name);

 %>

</body>

五.sevlet的注解

六.el表达式

posted @ 2019-10-18 11:22  x我有辣条跟我走  阅读(125)  评论(0编辑  收藏  举报
Live2D