Servlet创建完美教程
简介:Servlet其实是Server Let的缩写,是服务器端应用程序。 java中有一个applet是客户端应用程序,与servlet对应。applet已经过时。Servlet作用:能在B/S架构中,接受请求,返回响应的技术。其实和jsp的功能是一样的,可以用jsp写的东西都可以用servlet写,他其实是jsp的前身。因为Servlet用起来并不是很方便,所以后来出现了jsp。Servlet其实就是一个特殊的java类,具有跨平台(所有类运行在jvm虚拟机上),性能好,以多线程的方式运行。特点:Servlet必须运行在容器(web服务器)中,比如Tomcat,不能单独运行。
实现方式:
1.自定义类,实现javaEE中的一个接口
javax.servlet.Servlet接口并重新其中的所有方法就可以了。因为servlet可以接受并响应请求,我们可以知道,他被访问后会自动执行某些东西的,实现类后发现其中有五个必须的方法,而service方法就是最重要的。如下是我定义的Servlet类MyServlet类。
package com.servlettest;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class MyServlet implements Servlet{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
//接受客户段请求,并返回响应。
System.out.println("调用了servlet了");
}
}
2.配置web.xml文件
只写了这个类,在客户端还是访问不到的,我们都知道,客户端访问服务器资源是通过url访问的,所以,这里需要在web.xml中配置我们需要访问的Servlet类的url,具体设置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app><!-- web.xml文件根目录 -->
<welcome-file-list><!-- 默认访问本项目时的资源页面 -->
<welcome-file>home.jsp</welcome-file>
</welcome-file-list>
<!-- 配置一个servlet -->
<servlet>
<servlet-name>servlet_name</servlet-name><!-- 随便取的名字(介绍这个servlet) -->
<servlet-class>com.servlettest.MyServlet</servlet-class><!-- 这个Servlet对应的实体类 -->
</servlet>
<servlet-mapping>
<servlet-name>servlet_name</servlet-name><!-- 你知道的那个servlet,就是你配置的时候取得名字 -->
<url-pattern>/MyServlet</url-pattern><!-- 指定客户端访问这个servlet时用的资源名,以/开头 -->
</servlet-mapping>
</web-app>
我的理解:<servlet>标签其实是在介绍我们之前定义的MyServlet这个类,是在像jvm介绍我这个Servlet的名字,类具体在哪里。
<servlet-mapping>这个标签则是给客户端介绍这个类的名字和对外应该怎么找到他。两者相互映射,都是同一个对象。
3.地址栏输入 站点+url-pattern标签的地址
http://localhost:8080/servlet_demo/MyServlet
这样在客户端访问的时候,只要url后面访问的是这个站点上的/MyServlet就会触发service方法,结果控制台打印----调用了servlet了。
Servlet创建完美教程的更多相关文章
- Centos7安装并配置mysql5.6完美教程
Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...
- MasonJS – 创建完美的砌体结构网页布局
MasonJS 插件用来解决目前大多数的网格系统使用中的问题——间距.当使用 Masonry,Isotope 或任何其他网格插件时,布局中会出现空白或边缘参差不齐的情况.MasonJS 可以帮助你填补 ...
- 创建完美SDK的10个技巧
[编者按]本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK.文章系国内 ITOM 管理平台 OneAPM 编译呈现.以下为正文. 本文起源于笔者朋友的 ...
- Altium 中异形焊盘异形封装的创建图文教程
Altium 中异形焊盘异形封装的创建图文教程 一般不规则的焊盘被称为异型焊盘,典型的有金手指.大型的器件焊盘或者板子上需要添加特殊形状的铜箔(可以制作一个特殊封装代替). 如图27所示,此处我们以一 ...
- Oracle创建用户教程
计算机-->管理-->应用程序与服务-->(OracleOraDb11g_home1TNSListener 和 OracleServiceORCL 服务)->启动服务 打开Or ...
- 使用Oracle VM VirtualBox创建虚拟机教程
使用Oracle VM VirtualBox创建虚拟机教程 ...
- 如何使用Java、Servlet创建二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
- servlet创建项目过程中,servlet内容重写的两种搭建,tomcat的配置,class的存放位置,web.xml的搭建等注意事项与易错点
运行一个servlet项目:需要做这些前提工作: 1.配置tomcat,在server选项卡的设置也就基本的设置,HTTP port与JMX port等端口号:基本都是默认的.这里需要注意的是,有的教 ...
- 【转】如何使用Java、Servlet创建二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用.从候车亭.产品包装.家装卖场.汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
随机推荐
- jmeter入门案例(二)
jmeter入门简介(一)下载及元件介绍https://www.cnblogs.com/wish5714/p/9714930.html jmeter典型的http请求示例 业务场景 银行卡收单交易,模 ...
- python2与python3的区别
print 函数(Python3中print为一个函数,必须用括号括起来:Python2中print为class)在Python 2.6与Python 2.7里面,以下三种形式是等价的: print ...
- 自制EF(iShare Demo版)
由于公司使用的所有技术都比较倾向于使用原生,不怎么借用其他第三方框架(无论是前端布局,样式,到后台的框架).公司也算比较小型的没有太大的项目 可以让我们进行团队合作项目,几乎是一人接手一个项目.然后自 ...
- Linux-03
目录处理命令 目录处理命令:ls 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:现实目录文件 语法:ls 选项[-ald] [文件或目录] -a ...
- 记一次git翻车事件
昨天dmp上线了 本来整个流程是 1.在本地1.4分支开发,开发完成push到origin/1.4,在远程仓库把1.4 merge到master分支 2.本地online分支先pull一下远程onli ...
- java中解析excel 批量插入数据库
Facade 层 实现类 (@Service("samePeriodModelImportFacade")) 1. 获取cells 的方法 public Cells getCel ...
- navicat使用ssh登录mysql报错:expected key exchange group packet from server
转载自:https://blog.csdn.net/enweitech/article/details/80677374 解决方法: vim /etc/ssh/sshd_config shift+g ...
- oracle sql语句大全
ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约 ...
- Top值
业务开发中经常会用到元素或者浏览器窗口的各种top值,最近开发组件的过程中也遇到各种问题,因此决定好好总结一下. 常见的top值 scrollTop Element.scrollTop 属性可以获取或 ...
- 安卓学习 Drawable对象
whie(!images[currentImage].endWith(".PNG")&&!images[currentImage].endWith(".p ...