Servlet1知识

声明:本博客为学习b站某servlet视频时的笔记,供之后复习理解

C/S架构和B/S架构

客户端<——请求/响应——>web服务器/数据库服务器

Browser浏览器<——请求/响应——>服务器<——>数据库

Web(World Wide Web)万维网

静态资源:Web页面供人们浏览的数据始终保持不变(HTML/CSS)

动态资源:不同时间点、不同设备访问Web页面看到的内容各不相同

Java Web:动态Web资源开发技术

Web服务器

运行以及发布Web应用的容器,将开发的Web项目放置到该容器中,才能使所有用户通过浏览器进行访问

常见服务器

OpenSource(开源、免费)
  1. Tomcat(主流Web服务器之一,适合初学者)
  2. jetty(淘宝在用)
  3. resin(新浪,效率最高)
收费
  1. WebLogic (Oracle)
  2. WebSphere(IBM)

Tomcat

支持Servlet和JSP规范

1.下载

http://tomcat.apache.org/下载版本

2.解压缩

不建议将服务器软件放在磁盘层次很多目录下

不建议放在中文和特殊符号目录下

Tomcat目录结构
bin存放的二进制可执行文件
confserver.xml服务器Tomcat的配置信息,可以对服务器基础配置进行修改
web.xml 项目部署的描述文件
libTomcat的类库,里面存放Tomcat运行所需要的jar包文件
logs存放日志文件,记录Tomcat启动和关闭的信息,如果启动Tomcat时出现错误,异常也会记录在日志中
tempTomcat的临时文件,停止Tomcat后会被删除
webspps最为重要,存放所有的web项目,其中每一个文件夹都是一个项目,其中ROOT是一个特殊项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目
work运行时生成的文件,最终运行的文件都在这里
启动Tomcat

双击startup.bat

打开http://localhost:8080可以查看启动的结果

停止Tomcat

双击shutdown.bat

项目部署以及访问静态资源

项目应用部署在webapps下,通过特定的URL进行访问

创建项目内容可以直接在IDEA中创建web项目生成,不需要手动来,下面为一般创建步骤

创建项目

1.在webapps中建立文件夹(项目应用),比如:myweb

2.在myweb文件夹中创建WEB-INF文件夹,用于存放项目的核心内容**(WEB-INF不能直接被外界访问)**

​ 在WEB-INF中创建classes,用于存放 .class文件

​ 创建lib,用于存放jar文件

​ 创建web.xml,项目配置文件(到ROOT项目下的WEB-INF复制即可)

3.在webapps文件夹中写网页(比如hello.html),该网页与WEB-INF同级目录

URL访问资源

http://localhost:8080/myweb/hello.html

协议 域名或主机名 端口号 资源路径

Servlet

概念

servlet : Server Applet的简称,是服务端的程序(代码、功能实现),可以交互式处理客户端发送到服务端的请求,并完成操作响应

动态网页技术

JavaWeb程序开发的基础,JavaEE规范的一个组成部分

Servlet作用
  1. 接收客户端请求,完成操作
  2. 动态生成网页(页面数据可变)
  3. 将包含操作结果的动态网页响应给客户端
Servlet开发步骤
搭建开发环境

​ 将Servlet相关的jar包(lib\servelt-api.jar)配置到classpath中

servlet-api.jar在Tomcat的lib目录下

​ 编写servlet的时候要使用一些接口,不是java的,是servlet-api.jar的

编写Servlet
  1. 实现javax.servlet.Servlet
  2. 重写5个主要方法
  3. 在核心的service()方法中编写输出语句,打印访问结果;

不要在里面使用中文进行注释,不然会报错

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">


    <servlet>
        <!--servlet-name是给指定的servlet.class文件起一个别名-->
        <servlet-name>my</servlet-name>
        <!--被对应的.class文件-->
        <servlet-class>MyServlet</servlet-class>
    </servlet>

    <!--对Servlet作映射-->
    <servlet-mapping>
        <servlet-name>my</servlet-name>
        <!--配置的是将来要访问的路径,前面是项目的名称,根目录,对于浏览器的路径-->
        <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
</web-app>
import javax.servlet.*;
import java.io.IOException;

public class MyServlet implements Servlet {


    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    //获得Servlet的配置信息
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }


    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

    }

    //获得Servlet的基本信息
    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

Web项目目录结构:

WebProject
	.idea 			IDEA工程配置文件
	src				存放java代码
	web				存放静态资源
		WEB-INF		项目配置文件,jar包和.class文件
			classes 存放jar包
			lib		
			web.xml	项目部署的描述文件
		index.jsp	jsp文件
	WebProject.iml	模块配置文件
External Libaries	外部jar包
	jdk1.8

基本文件导入servlet-api.jar包步骤(关联第三方jar包)
  1. 在WEB-INF下新建文件夹lib
  2. 将servlet-api.jar文件夹复制到lib目录下
  3. 在lib上右键Add as Libaray

如何导出war包

项目完成后,有时候需要打成war包方便部署,war包可以直接放入Tomcat的webapps目录中,启动Tomcat后会自动解压,即可访问

在IDEA中是开发版,WebProject_war_exploded,是热部署(可以随时随地来改变),真正的部署需要将项目导出为war包,发行版,再来使用

导出war包步骤:

  1. 点击项目结构
  2. 点击Artifact
  3. 点击+
  4. 选择Web Application Archive For …exploded
  5. 点击apply ok
  6. 点击build—>点击build artifact,选择war包---->点击build
  7. 生成的目录在out目录下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值