MVC+Servlet,Jar包介绍,如何导包与使用

本文介绍了Servlet在JavaWeb开发中的作用,包括如何通过Java类实现动态内容处理,Web服务器(如Tomcat)的工作原理,以及HTTP和TCP协议的应用。还详细讲解了如何在Tomcat上部署项目,处理中文乱码,以及MVC架构和Cookie/Session的基本概念。
摘要由CSDN通过智能技术生成

Servlet

一、Servlet作用

  通过编写一个Java类来实现servlet接口,再把开发好的Java类部署到web服务器中,便可实现web资源动态化。简单来讲,Servlet 让我们的普通 Java 程序能够处理浏览器的访问并返回相应的内容。

、Web服务器是什么

  是指应用程序,对HTTP协议的操作进行封装,使程序员不必直接对协议进行操作,让web开发更加便捷。主要功能是“提供网上信息浏览服务”。

  1.HTTP

     HTTP超文本传输协议,规定了浏览器和服务器之间的数据传输的规则。

  2.TCP

    TCP传输控制协议,使用UDP发送数据容易丢失,而TCP能够保证数据稳定传送。

  3.用户访问网页过程

  1. 与服务器建立TCP连接;
  2. 发送HTTP请求;
  3. 收取HTTP响应,然后把网页在浏览器中显示出来。

  实际上web服务器虽能代劳许多协议的操作,但仍有部分问题会降低开发效率,所以,Servlet 应运而生。

、Web服务器的作用

1:封装HTTP协议操作,简化开发

2:可以将web项目部署到服务器中,对外提供网上浏览操作

四、Tomcat

  Tomcat是应用广泛的java服务器,一个免费开源的轻量级服务器。

  1.Tomcat下载与项目创建

官网链接:

  下载64位的核心后解压文件,使用IDEA创建新项目,选择Jakarta EE作为生成器,模板选择Web应用程序,应用程序服务器新建Tomcat服务器并选取对应下载解压后的文件路径。

  2.运行环境配置

  

  此处应保证应用程序服务器选择对象存在非空,虚拟机栏中填写图中语句可统一Tomcat与IDEA的编码以防出现乱码,Tomcat默认是UTF-8,IDEA看版本。

  通过System.out.println(System.getProperty("file.encoding"));可查询当前IDEA采用的编码。

成功运行 

3.运行后出现中文乱码

进入设置更改全局编码

若还行不通,在自定义虚拟机选项最后也同样加上前面提到的语句

若还是行不通,请检查下载的tomcat文件中图中路径下的logging文件检查所有encoding后面是否是UTF-8若也无误,那只能直接对IDEA文件进行修改了,具体修改的文件需上网查询,我也不清楚

、使用Tomcat编写一个程序

  1.文件目录

  创建完一个项目后,先观察一下左边的目录

先介绍说明一下几个重要文件的作用:

src:用于存放源代码和测试代码的根目录
main:用于存放源代码的目录
test:用于存放测试代码的目录
java:用于存放Java代码的目录
resources:用于存放依赖的资源文件
pom.xml:是 Maven项目的核心配置文件,关于这个Maven项目的相关属性,都是在这个xml中进行配置

  2.引入依赖

  运行程序需要先在xml文件中引入Servlet API依赖的jar包,需要打开中央仓库,搜索Servlet,点击Java Servlet API并下载所使用Tomcat对应版本的Servlet,再把该版本的xml复制到自己创建项目的xml文件中。

图中框红的部分就是依赖

 

  3.编写代码

package com.example.demo;
import java.io.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
@WebServlet(name = "helloServlet", value = "/hello-servlet")
//使用@webservlet注解,配置servlet的访问路径
public class HelloServlet extends HttpServlet {
    /*Servlet类是指继承HttpServlet类的普通Java类,覆盖doGet方法,且只能由tomcat服务器运行
    PS:HttpServlet类来自于pom.xml中引入的Servlet API依赖的jar包
     */
    private String message;

    public void init() {
        message = "Hello World!";
    }//当Servlet第一次被请求时,Servlet容器会调用该方法初始化一个Servlet对象且后续不再被调出

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //声明了request和response这两个对象
        response.setContentType("text/html");
        /*重写doGet()方法,声明写入的内容形式是html
        PS:doGet是HttpServlet类中的方法,此处是在子类HelloServlet中重写了父类的方法
         */
        PrintWriter out = response.getWriter();
        /*获得一个流对象,通过这个流对象就可以写入一些数据,写入的数会被构造成一个 HTTP 响应的 body 部分,
        Tomcat 会把整个响应转成字符串,通过 Socket 写回给浏览器
         */
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
        //写入具体的html代码内容
    }

    public void destroy() {
    }//被调用时销毁先前创建的Servlet对象释放空间
}

MVC结构

M:Model,模型持有所有的数据、状态和程序逻辑;

V:View,视图,界面展示,与用户的交互功能;

C:Controller,控制器,处理请求,调用模型和视图;

Cookie

  不是曲奇,简而言之这玩意儿就是键值对,可以在浏览器和用户端进行一个交换信息的操作,使得我们有时在初始化的时候就可以直接通过电脑中存储的Cookie码进行自动的认证

  用处:减少用户操作的时间和次数提高效率。

Session

  session是由服务器创建进行分发的,将session的值存储在服务器内部,并只提供sessionid进行外界的使用。因此,合理有用session可以使程序的安全性提升。具体操作过程和cookie类似。

  • 40
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值