JSP2

1.B/S:Broswer-Server

1.B/S的  优点:
    1.客户端无需安装客户端程序
    2.页面开发周期较短

2.C/S:Client-Server
1.Client:安卓、IOS、PC上的程序

2.C/S架构的    缺点:
    1.对客户而言:需要安装客户端
    2.对开发人员而言:客户端程序开发难度较大,周期较长。

3.服务器资源:
1.静态资源:.html .css .js 各种图片 非流媒体的视频/音频 等文件
静态资源在客户端访问时会下载到其本地进行执行
2.动态资源:程序 java程序 php程序 .net程序

4.服务器:
1.服务器程序:存放服务器资源的一个程序,可供外界访问
2.服务器程序功能:
1.容器:存放服务器资源的容器
2.能够接受客户端请求,让客户端能够访问服务器资源

5.常用的服务器:
1.Apache开源基金会 mybatis
2.Apache基金会有一款服务器软件Apache

3.IIS:微软web服务器  .net

4.Ngnix:反向代理服务器,负载均衡

6.Apache服务器的功能:
静态资源web容器
本身不能够运行java程序(jsp+servlet),
但可以通过安装Servlet应用服务器来实现运行java程序

7.Servlet应用服务器:能够运行Servlet程序的服务器
Servlet就是一个类,能够接受用于请求

8.常用的Servlet应用服务器:
Tomcat Jetty:只是Servlet应用服务器
JBoss Websphere Weblogic:JAVAEE应用服务器

9.Tomcat/Jetty:Servlet容器
存放Servlet/JSP的一个容器+静态资源,
Tomcat也可以接受用户请求,近似的看成一个服务器

10.localhost:8080:
1.访问tomcat首页
404:资源未找到NotFound

2.产生404的原因:
    1.资源真的不存在
    2.url错误
    3.拒绝访问

11.web工程
1.webContent:
2.web-inf:
3.lib:放第三方jar包
4.web.xml:web工程主配置文件

5.注意:
    静态资源或者页面如果放到web-inf无法直接访问,但可间接访问

12.放到webContent根目录或者子文件夹下的页面+静态资源可以直接访问

13.JSP:Java Server Page


1.JSP的运行机制?
    1.JSP本质上是一个Java类(Servlet),也需要编译
    2.JSP在客户端第一次访问该页面时,由web服务器先解释为.java,然后再编译为.class
    3.如果没有修改JSP页面,JSP页面不会重新编译
        编译一次,运行多次

    4.  1.缺点:
            因为JSP也需要编译,所以第一次访问时加载速度略慢。
        2.优点:编译一次,运行多次

=======================================================================================

2.JSP里能写什么?
    1.
        1.HTML:直接写到jsp中
        2.CSS:直接写到jsp中
        3.JS:<script></script>

        JSP中可以前端代码,但服务器不会解析,在客户端请求JSP时,会原封不动地把前端代码发送到客户端,由客户端浏览器解析(out.write("前端代码"))
    2.Java代码:
        <% %>:属于java部分,会解释到java类中
        <% %>不能写前端代码
    3.Java小脚本:
        <%...%>
            1.声明局部变量
            2.可以编写逻辑语句
            3.可以调用方法,但不可声明方法

3.Java表达式:向页面输出数据
    <%=变量名、对象名%>
    <%=方法名()%>
    只能用来调用变量或者方法,不能编写逻辑语句或者声明语句

4.向页面输出数据:
    1.Java表达式
    2.out.print()/println();

5.Java方法声明/声明全局变量:
    1.<%! 方法声明  %>

    2.注意:
        <%...%>   <%!...%>都可以声明变量,但作用域不同
        <%...%>:声明的是局部变量(方法体中的变量)
        可以在别的java小脚本或者java表达式使用
        <%!...%>:声明的成员变量,在整个页面可用

6.JSP注释:
    <!--  -->:注释会发送到客户端
    <%-- --%>:只在服务器端可见


7.JSP指令标签:
    <%@page%>:
    contentType:告诉浏览器以何种编码解析页面
    pageEncoding:设置JSP的页面的编码
    import:导包

8.JSP内置对象:可以在JSP中直接使用的对象
    out:用于向页面输出数据
    out.print(Object)
    out.println(Object):输出到页面后,换行变成了空格
    out.println/print(Object + "<br>");
    out.write(String)

*9. WEB-INF:受保护资源,仅限于服务器内部访问,不能通过客户端直接访问

    1.http://localhost:8080/myjsp/registOK.jsp

    2.http://localhost:8080/JSPdemo1/myjsp/registOK.jsp

    3.注意:
        1.应用名后默认添加/:
            WebContent
            页面跳转默认使用的相对路径:
            相对WebContent的路径
        2.在跳转路径前加/:
            /应用名

            /myjsp/xxx.jsp
            /myjsp/xxx.do
            相对最后一个/的路径
            /myjsp/跳转的url

10.URL错误    404
    http://localhost:8080/myjsp/registOK.jsp
    这里把myjsp当成了应用名

11.如何获取表单提交后的数据:
    1.通过jsp的request内置对象获取
         1.request:一个客户端请求对应一个request对象
             request对象封装了客户端的请求数据
             不同的请求,对应不同的request对象,request对象之间的数据不共享

         2.对表单而言,请求参数名:name属性值
             String:request.getParameter("请求参数名")
             只能获取单个值

         3.String[]:request.getParameterValues("请求参数名")
            获取多个值

         4.注意:
             前端提交到后端的数据,默认String类型,
             根据需求需要进行类型转化

    2.通过Servlet/控制器框架

        1.500:Java代码错误

        2.解决post请求中文乱码问题:
            request.setCharacterEncoding("utf-8");

        3.表单的method="post"

        4.get
            1.get请求:
                a标签、
                location.href

            2.如何通过get请求发送请求参数:
                在url后添加 ---> ?
                    <a href="myjsp/registOK.jsp?请求参数名1=请求参数值1&请求参数名2=请求参数值2..."></a>

        4.request.getParameter():
            1.如果请求参数名写错,返回值为null
            2.如果请求参数名正确,但页面未赋值,返回为""
                if(request.getParameter("age")!=null 
                && (!request.getParameter("age").equals("")))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值