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码,让人们快速找到它们.随着智能手机的用户量日益增长,二维码的使用正在呈指 ...
随机推荐
- Nginx+Keepalived(二)
Linux CentOS7安装Nginx 1.gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境. yum install gcc-c++ 2.PCRE pcre- ...
- xml嵌套防止解析
举个例子 <?xml version="1.0" encoding="UTF-8"?><Messages><Message typ ...
- virtualenv+pyenv管理python工作环境
因为python2与3之间存在差异,所以日常工作中可能需要在2与3之间来回切换.在相同的python版本中,有可能有的项目需要用到django1.8,别的项目需要用到django1.9,所以如果可以在 ...
- java 图片转base64字符串、base64字符串转图片
java 图片转base64字符串.base64字符串转图片 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * ...
- 网站改版应对google
客户要求修改网站,这会给我们带来问题!为了保留他的网站权重和关键字排名,我们必须在做网站修改工作之前分析他原来网站的连接结构和标题,这样我才能更好地保证他原来网站的整体权重不会有大的变化!以下是我们根 ...
- Android 保存图片到相册
/** * 保存图片到相册 */ public void saveImageToGallery(Bitmap mBitmap) { if (!Environment.getExternalStorag ...
- java 调用存储过程
1.java 中调用pl/sql 中的存储过程 call 存储过程的名称(参数名称,参数名称) 在service 层中调用 存储过程 String sql=" call proc_ ...
- 阿里云SLB负载均衡与使用SSL域名证书
阿里云SLB负载均衡与使用SSL证书 1.购买两台ECS服务器,这就是后台服务器,在这两个服务器上面部署你的网站,注意网站的端口要一样:比如都是 88. 2.在阿里云控制台的菜单里找到 负载均衡,创建 ...
- 快速排序的两种实现方法(js)
快速排序的基本思想:通过一趟排序,将待排记录分割成独立的两部分,其中一部分记录的关键字均比另外一部分记录的关键字小,则可分别对着两部分记录继续进行排序,以达到整个序列有序的目的.----------- ...
- Rsync未授权访问漏洞的修复
转自:https://www.cnblogs.com/KevinGeorge/p/9648028.html 配置文件/etc/rsync.conf解析: motd file -> motd文件位 ...