JavaEE(初始JSP,Servlet)

目录

 

什么是JavaEE?:

如何在IDEA中部署WEB项目到服务器并且访问?

 

使用JSP 将时间显示在浏览器网页中:

JSP执行过程:

练习:统计网页访问人数:

练习进阶:在访问人数上加上网页的头和网页的地步:

静态包含和动态包含的两种不同的包含方式的区别:

练习:编写提交表单(新建html文件  新建jsp文件):

HTTP介绍:

Servlet使用:


什么是JavaEE?:

Java EE平台构建于Java SE平台之上,提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序

 

如何在IDEA中部署WEB项目到服务器并且访问?

创建项目,选择和下图一致:

想要添加不同的WEB项目的模块时,在该项目右键单击NEW,方法和之前的一样,便能在之前的项目中创建该项目:

我们将WEB项目复制,放在web这个文件夹中

我们可以在右上角的运行旁边可以看见tomcat猫的图标,单击

编辑好之后点击运行,控制台出现ms的标识时,证明服务器已经加载好了,这时候这个web项目就可以访问了,我们需要输入我们刚才输入的url的地址来进行访问。

 

使用JSP 将时间显示在浏览器网页中:

1:在当前模块的web文件夹中添加jsp文件:

2)在这个JSP先编写JavaScript代码。

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/8/19 0019
  Time: 19:42
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script>
        function showTime(){
            var date=new Date();
            document.getElementById("setTime").innerHTML=date;
        }
    </script>
</head>
<body onload="showTime()">

<div id="setTime"></div>
</body>
</html>

运行效果:

这是使用html的方式进行代码的编写,这样子是访问到客户端的时间,也就是用户的主机时间。我们可以按F12访问到源代码

现在我们使用jsp的语法来对服务器的时间进行访问,并且打印到浏览器页面上:

<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/8/19 0019
  Time: 19:42
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <script>
        function showTime(){
            var date=new Date();
            document.getElementById("setTime").innerHTML=date;
        }
    </script>
</head>
<body onload="showTime()">

<div id="setTime"></div>
    <%--jsp注释: 下面的括号里可以编写java代码,我这个左右两边是jsp的注释--%>
    <%//用这种对称括号里写可以写java代码,并且可以用“”将html代码括起来进行使用
        Date date=new Date();
        System.out.println("系统时间为: "+date.toLocaleString());//打印在控制台的代码
        out.println("显示时间的方法一:"+date.toLocaleString()+"</br>");//打印在浏览器的时间
    %>

    <%="显示时间方法二"+date.toLocaleString()%></br>
</body>
</html>

这里JSP就是在HTML中内嵌入HTML代码,JSP是服务端的技术,有服务器编写变异java脚本代码,将整个页面返回给浏览器

 

JSP执行过程:

浏览器发送请求访问服务器某个jsp页面---->>>服务器访问这个jsp的文件,将其转译为.java文件,在生成.class文件,将这个文件交给浏览器,浏览器便可以执行(.java文件在未修改的情况下只运行一次,当生成了.class文件后,只运行class文件)

 

练习:统计网页访问人数:

 

练习进阶:在访问人数上加上网页的头和网页的地步:

分别新建3个jsp文件,1个里面包含网页头部图片  1个包含内容  ,1个底部:

再在该项目中新建文件夹,添加图片

编写头部底部的代码

编写中间内容的代码,并且引用头部的jsp和底部的jsp代码

中间的内容代码的方括号中的代码包含了两个知识:

静态包含和动态包含的两种不同的包含方式的区别:

   包含方式不同:

          静态包含是 将这个语句转换为html语句,

          动态包含是调用方法执行该语句

   包含的时机不同:

          静态包含在编译时执行一次

          动态包含是执行的时候调用方法

  生成class的数量不同:

          静态包含不生成class文件(随着内容文件编译生成class文件时  静态包含的代码转换成html语言)

         动态包含生成class文件

   是否可以有同名变量:

        静态包含不可以生成同名变量。静态包含的文件里定义变量相当于定义全局变量。

         动态包含可以生成同名变量。(动态包含相当于方法,方法中可以定义同名的变量(变量的作用域))

 

练习:编写提交表单(新建html文件  新建jsp文件):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
   <form action="dologin.jsp"method="get">
       用户名: <input type="text" id="username" name="username">
       密码:<input type="password" id="pwd" name="pwd">
       <input type="submit" value="提交">
   </form>
</body>
</html>
<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2019/8/19 0019
  Time: 20:51
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
       String name1= request.getParameter("username");//获得name=username
       String pwd1=request.getParameter("pwd");//获得name=pwd
        out.println(name1.indexOf("a")+"   "+pwd1.length());
       if(name1.indexOf('a')>=0&&pwd1.length()>=4){//名字包含lht 密码长度大于4
           out.println("登陆成功");
       }else{
           out.println("登陆失败");
       }
    %>
</body>
</html>

HTTP介绍:

 

Servlet使用:

  servelet是控制访问那个页面的,jsp是将服务器处理后显示在浏览器中:

新建一个模块,在WEB-xml文件里修改配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
           version="2.5">
    <servlet>
            <servlet-name>FirstServlet</servlet-name>
            <servlet-class>MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
            <servlet-name>FirstServlet</servlet-name>
            <url-pattern>/first</url-pattern>
            <url-pattern>*.ok</url-pattern>
    </servlet-mapping>
</web-app>

在src文件里新建文件,继承HttpServlet类重写service方法

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class MyServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter=response.getWriter();
        printWriter.write("<html><head><title>");
        printWriter.write("myFirst</title></head>");
        printWriter.write("<body>这是我的网页哦</body>");
        printWriter.write("</html>");
        printWriter.close();
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值