JavaWeb简述

JavaWeb

Javaweb之后将不再需要main,因为有了servlet

写好的HTML页面怎么在其它的电脑中显示/打开?

在没有任何技术的情况下:将文件复制到另一个电脑下去查看

应用/程序

tomcat/tom猫/web服务器/应用服务器等等

使用Java开发的,因此依赖于jdk

  • 一个应用只能使用一个端口

tomcat目录结构

bin:都是存放、启动、停止等操作命令的。

conf:配置文件目录

lib : 存放jar包的目录

logs : 存放日志文件

temp : 存放临时文件

webapps : 存放web应用的目录。存放项目的目录 ROOT目录为默认打开的项目

work : 服务器工作目录 : .class/.java

动态网页技术

JavaEE最主要最核心的两个技术: Servlet、JSP(Java Server Page)

Servlet只是一个特殊的类(但并不是工具类 )

  1. 创建一个普通的Class

  2. 继承HttpServlet

  3. 重写doGet、doPost方法

  4. 在Web.xml中配置(一对一对的)

     <!-- 告诉tomcat 我有一个Servlet类,并且告诉它访问的名称是什么 -->
        <!-- Servlet类的位置 -->
        <servlet>
            <!-- 这个名称随便写 -->
            <servlet-name>aaa</servlet-name>
            <servlet-class>com.rimi.servlet.HtmlServlet</servlet-class>
        </servlet>
        <!-- servlet的访问名称-->
        <servlet-mapping>
            <!-- 与对应的servlet类的name保持一致 -->
            <servlet-name>aaa</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    
  5. 访问: http://ip地址:端口号/项目名/

    简单图解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YjvKH2Dh-1578396471313)(C:\Users\Asus\Desktop\笔记\idea应用图解\tomcat模型图解.png)]

JavaWeb结构

1、 BS:浏览器 和 服务器

2、 CS: 客户端 和 服务器

JavaEE常见状态码

  1. 404 未找到: 文件不存在、路径不对、名称不对

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVvFvHYQ-1578396471314)(C:\Users\Asus\Desktop\笔记\idea应用图解\404.png)]

  2. 500 服务器异常: 代码出现Exception

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4YFSX8AC-1578396471315)(C:\Users\Asus\Desktop\笔记\idea应用图解\500.png)]

  3. 200 请求成功*(如果时静态页面,系统会自动帮你缓存,状态码304)

200:一般看不见,在network中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxIMJ5Gl-1578396471317)(C:\Users\Asus\Desktop\笔记\idea应用图解\200.png)]

304:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WfBWkHkD-1578396471318)(C:\Users\Asus\Desktop\笔记\idea应用图解\304.png)]

/**
 * servlet类:继承HttpServlet
 */
public class HtmlServlet  extends HttpServlet {
    //需要重写doGet、doPost方法

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse re) throws ServletException, IOException {
        System.out.println("执行doGet");
        re.getWriter().append("hello world :::::"+System.currentTimeMillis()+new Date());
//        int s = 2;
//        System.out.println(s/0);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行doPost");
    }
}

Http请求方式:get/post

get:在地址栏可以看到提交的数据(显示提交),安全性低,提交的数据长度有限制、速度快

post:在地址栏无法看到提交的数据(隐式提交),安全性高,提交的数据长度没有限制、速度慢

servlet 请求和相应

注意事项:

1、编码问题:代码无法执行可能是因为编码问题乱码(请求时编码,响应内容编码,响应时编码)

		//修改相应的编码格式
        //响应的编码格式
        rep.setCharacterEncoding("utf-8");
        //请求的编码格式
        req.setCharacterEncoding("utf-8");
        //响应的内容类型
        rep.setContentType("text/html;charset=utf-8");

2、发送重定向问题:当我们想要登陆错误时重新返回登录页面时

		//通过代码控制页面的跳转、切换
        //发送重定向
        //response.sendRedirect("http://www.baidu.com");
        //回到登录页面
        rep.sendRedirect("index.html");

3、return的作用:

a.返回值

b.跳出一个系统

    //response.sendRedirect("http://www.baidu.com");
    //回到登录页面
    rep.sendRedirect("index.html");

3、return的作用:

a.返回值

b.跳出一个系统

当我们想在循环后不执行循环下面的代码,就使用return。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值