web之servlet笔记(一)

动态页面介绍

html是静态页面,它不能满足需求。动态页面,我们可以输入数据,和页面交互(付款,购物,注册等)
不同的时刻打开页面,呈现的内容不一样。

Tomcat目录层次结构

  • bin 存放启动和关闭Tomcat的脚本文件
  • conf 存放Tomcat服务器的各种配置文件
  • lib 存放Tomcat服务器支撑的jar包
  • logs 存放Tomcat的日志文件
  • temp 存放Tomcat运行时产生的临时文件
  • webapps web应用所在目录
  • work Tomcat工作目录

servlet介绍

servlet技术的重要性不言而喻,jsp也是在servlet上发展起来的。
servlet(java服务器小程序)特点:

  • 由服务器调用和执行
  • 用java编写
  • 有一套自己的servlet规范
  • 几乎可以完成所有网站的功能
  • 是jsp的基础

Tomcat是web服务器的同时,也是servlet和jsp的容器

开发servlet三种方式

  • 实现servlet接口
  • 继承genericservlet
  • 继承httpservlet

实现servlet接口
我自己在eclipse中创建一个web项目
在java resources下建了一个包,并创建一个servlet文件
在这里插入图片描述
引入所需的包,继承servlet接口,并重写接口的五个方法。
五个方法介绍:

package cn.lyy;
import java.io.IOException;
import javax.servlet.*;

public class frist1 implements Servlet
{

	@Override
	//5.销毁servlet,从内存中清除
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	@Override
	//2.得到servletConfig对象
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	//4.得到servlet的配置信息
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	//1.初始化servlet,把servlet装载到内存中,只会调用一次
	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
		
	}

	@Override
	//3.该函数是服务函数,我们的业务逻辑代码
	
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("hello world");
		arg1.getWriter().println("hello world"+new java.util.Date());
		
	}
	
}

编写web.xml文件
根据servlet规范,需要将servlet部署到web.xml文件(这个很重要)
<servlet-name>给servlet取个漂亮的名字,该名字可以自己定义,不过最好用该servlet的名字
<servlet-class>要指明该servlet放在哪个包下的和servlet的名字,不要带.java
<servlet-mapping>是servlet的映射。
然后又是一个<servlet-name>,这个名字要和第一个<servlet-name>一致.
<url-pattern>这个就是将来访问servlet的资源名,可以随意,但最好是servlet的名字,记得带/

      <servlet>
      
    <servlet-name>frist1</servlet-name>
    <servlet-class>cn.lyy.frist1</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>frist1</servlet-name>
    <url-pattern>/a</url-pattern>
  </servlet-mapping>

测试完成
在这里插入图片描述
继承HttpServlet开发Servlet(最常用)
编写servlet文件,需要重写doget和dopost方法

package cm.lyy;

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


public class frist2 extends HttpServlet {

	protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

		res.getWriter().println("hello world");
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		res.getWriter().println("world hello");
	
	}
}

部署到web.xml文件
最后发现在客户端显示hello world,所以默认用get方法

我们post方法实现一次
简单写一个表单,action指向servlet的<url-pattern>,不用加/

<body>
<form action ="abb" method="post">
账号:<input type="text "name="username">
<input type="submit" vaule="登录">
</form>
</body>

提交表单,我们会发现
在这里插入图片描述
get提交和post区别

  1. post提交比get要安全,get会把提交的内容显示在地址栏
  2. post提交的内容要比get提交大的多
  3. 但是get响应速度比post快
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值