当前位置: 首页 > 编程日记 > 正文

Servlet入门 代码

1. 第一个Servlet程序

package com.allanlxf.serv.basic;
import javax.servlet.*;
import java.io.*;
public class TimeServlet implements Servlet
{private ServletConfig config;public TimeServlet(){System.out.println("TimeServlet()");}public void init(ServletConfig config) throws ServletException{this.config = config;System.out.println("init(" + config + ")");}public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException{System.out.println(this);System.out.println("service(" + request + "," + response + ")");getServletConfig();PrintWriter out = response.getWriter();out.println("<h1>");out.println(new java.util.Date());out.println("</h1>");out.close();}public void destroy(){System.out.println("destroy");}public String getServletInfo(){return "time servlet by allan version 1.0";}public ServletConfig getServletConfig(){return config;}  
}


2. 编写及布署Servlet类

(1)编写一个类继承自HttpServlet

package com.allanlxf.serv.basic;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HttpTimeServlet extends HttpServlet
{public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<html>");out.println("<head>");out.println("<title>currentTime</title>");out.println("</head>");out.println("<body>");out.println("<h3 align=\"center\">Current Time is</h3>");out.println("<hr>");out.println(new java.util.Date());out.println("</body>");out.println("</html>");out.close();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{doGet(request, response);}
}


(2)在Tomcat中布署一个myFirst-app web应用

---Tomcat

---webapps

---myFirst-app

---WEB-INF

---classes

---web.xml

---shoppingCart

(3)配置Web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"version="2.4"><servlet> <servlet-name>ActionServlet</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><load-on-startup>1</load-on-startup></servlet>  <servlet><servlet-name>time</servlet-name><servlet-class>com.allanlxf.serv.basic.TimeServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet><servlet-name>HttpTimeServlet</servlet-name><servlet-class>com.allanlxf.serv.basic.HttpTimeServlet</servlet-class></servlet><servlet-mapping> <servlet-name>ActionServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><servlet-mapping><servlet-name>time</servlet-name><url-pattern>/basic/time</url-pattern></servlet-mapping><servlet-mapping><servlet-name>HttpTimeServlet</servlet-name><url-pattern>/basic/http/time</url-pattern></servlet-mapping>
<listener><listener-class>com.chu.shoppingCart.web.shoppingCartListner</listener-class></listener>
</web-app>


3. 常用类介绍

(1)Filter类

public class CharacterEncodingFilter implements Filter
{private FilterConfig config;public void init(FilterConfig config) throws ServletException{        this.config = config;}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{String encoding = config.getInitParameter("encoding");if(encoding == null){encoding = "gbk";}request.setCharacterEncoding(encoding);response.setCharacterEncoding(encoding);chain.doFilter(request, response);}public void destroy(){}
}


转载于:https://www.cnblogs.com/smileallen/archive/2013/02/16/3391571.html

相关文章:

统计学习方法:朴素贝叶斯

作者&#xff1a;桂。 时间&#xff1a;2017-04-20 18:31:37 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/6740308.html 前言 本文为《统计学习方法》第四章&#xff1a;朴素贝叶斯&#xff08;naive bayes&#xff09;&#xff0c;主要是借助先验知识统计估计&…

Windows自动启动程序的十大藏身之所(转载)

Windows自动启动程序的十大藏身之所 Windows启动时通常会有一大堆程序自动启动。不要以为管好了“开始→程序→启动”菜单就万事大吉&#xff0c;实际上&#xff0c;在Windows XP/2K中&#xff0c;让Windows自动启动程序的办法很多&#xff0c;下文告诉你最重要的两个文件夹和八…

警惕!银行风控模型或将“摇身一变”,成为风险缔造者

作者 | 祝世虎来源 | 现代金融风险管理头图 | CSDN下载自视觉中国2011年&#xff0c;美联储发布了《模型风险管理监督指南&#xff08;SR11-7&#xff09;》&#xff08;《SRLetter 11-7: Supervisory Guidance on Model Risk Management》&#xff09;&#xff0c;该指南逐步成…

Spring注解注入

spring注入方式-----注解注入&#xff08;1&#xff09;操作&#xff1a;首先在要注入的类前面加上&#xff1a;Component(与后面三个是等价的)Repository&#xff08;持久层&#xff09;,Service业务层,Controller和控制层应为不能自动识别某个类是否是持久层&#xff0c;业务…

zip 的压缩原理与实现

http://www.blueidea.com/bbs/newsdetail.asp?id1819267&page2&posts&Daysprune5&lp1无损数据压缩是一件奇妙的事情&#xff0c;想一想&#xff0c;一串任意的数据能够根据一定的规则转换成只有原来 1/2 - 1/5 长度的数据&#xff0c;并且能够按照相应的规则还…

上海交大发布 MedMNIST 医学图像分析数据集 新基准

来源 | HyperAI超神经责编 | 晋兆雨头图 | 付费下载于视觉中国内容概要&#xff1a;医学图像分析是一个非常复杂的跨学科领域&#xff0c;近日上海交通大学发布了 MedMNIST 数据集&#xff0c;有望促进医学图像分析的发展。关键词&#xff1a;医学图像分析 公开数据集令人头秃…

VS 2010中对WPF4有哪些多点触摸支持?

随着多点触摸输入和操作处理支持的引进&#xff0c; WPF 4提供了一个极棒的方式&#xff0c;可在Windows 7中使你的客户端应用大放光彩&#xff0c;新的特性包括&#xff1a;UIElement上的多点触摸操作、惯性&#xff08;漫游&#xff08;Pan&#xff09;、缩放&#xff08;Zoo…

业务组件架构的思考

在iOS开发中&#xff0c;我们接触比较多的是MVC架构&#xff0c;下面我们先来分析一下MVC架构。 1.MVC MVC是一种软件架构模式&#xff0c;在1978年由Trygve Reenskaug提出&#xff0c;它把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#…

强化学习:10种真实的奖励与惩罚应用

作者 | Patrycja翻译 | Katie&#xff0c;责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国在强化学习&#xff08;Reinforcement Learning&#xff09;中&#xff0c;对代理进行奖励和惩罚机制的培训。代理的正确行为会得到奖励&#xff0c;而错误的行为会受到惩罚…

PHP feof() 函数读文件的使用

(PHP 4, PHP 5) feof — 测试文件指针是否到了文件结束的位置 如果服务器没有关闭由 fsockopen() 所打开的连接&#xff0c;feof() 会一直等待直到超时而返回TRUE。默认的超时限制是 60 秒&#xff0c;可以使用 stream_set_timeout() 来改变这个值。 文件指针必须是有效的&a…

批处理解决“易语言难题”

为什么80%的码农都做不了架构师&#xff1f;>>> 发现还没有Win批处理的&#xff0c;也就是DOS&#xff0c;我来凑个热闹&#xff0c;哈哈&#xff5e; maxos 汇总贴 APPLEUFO 原题链接 不罗嗦&#xff0c;上代码啦&#xff1a; echo off set c_title批处理…

\r与\n有何差别,编码的时候应该怎样使用

差别&#xff1a; \r&#xff1a; 全称&#xff1a;carriage return (carriage是“字车”的意思。打印机上的一个部件)简称&#xff1a;return缩写&#xff1a;rASCII码&#xff1a;13作用&#xff1a;把光标移动到当前行的最左边\n&#xff1a; 全称&#xff1a;new line别名…

深度学习中的注意力机制(一)

作者 | 蘑菇先生来源 | NewBeeNLP头图 | CSDN下载自视觉中国目前深度学习中热点之一就是注意力机制&#xff08;Attention Mechanisms&#xff09;。Attention源于人类视觉系统&#xff0c;当人类观察外界事物的时候&#xff0c;一般不会把事物当成一个整体去看&#xff0c;往往…

Hibernate 异常org.hibernate.LazyInitializationException: could not initialize prox

Hibernate的Lazy初始化1:n关系时&#xff0c;必须保证是在同一个Session内部使用这个关系集合&#xff0c;不然Hiernate将抛出异常。 两种处理方法&#xff1a; 一、这是延时加载的问题&#xff0c;把有关联的所有pojo类&#xff0c;在hibernate.cfg.xml文件中。一般在many-to-…

XHTML基础问答

作者&#xff1a;阿捷 2004-6-26 1:43:36本文是2002年为硅谷动力网站翻译的稿件。当时xhtml1.0刚刚开始被设计师所接触&#xff0c;所以有下面这个基础问答。 HTML语言是我们建立网页的工具&#xff0c;从它出现发展到现在&#xff0c;规范不断完善&#xff0c;功能越来越强。…

958毕业,苦学Java,竟被二本毕业生吊打!网友:确实厉害!

最近收到一位中型公司 HR 的反馈&#xff0c;她说&#xff0c;我推荐的一个普通本二毕业生在校招面试中表现非凡&#xff0c;当时两个人争抢一个名额&#xff0c;他竟然完胜另一位 985 毕业生。普通本二毕业生对公司的技术提问对答如流&#xff0c;曾在小公司实习&#xff0c;做…

css布局中的居中问题

css布局中的居中问题 作者&#xff1a;阿捷 2004-7-5 14:35:49#sample{HEIGHT:240px;WIDTH:400px;BACKGROUND: url(http://www.w3cn.org/style/001/logo_w3cn_194x79.gif) #CCC no-repeat center;} 如何使DIV居中 主要的样式定义如下&#xff1a; body {TEXT-ALIGN: center;…

领域驱动设计_软件核心复杂性应对之道

领域驱动设计_软件核心复杂性应对之道转载于:https://www.cnblogs.com/MarvinGeng/archive/2013/02/21/2920968.html

谈谈Boost网络编程(2)—— 新系统的设计

写文章之前。我们一般会想要採用何种方式&#xff0c;是“开门见山”&#xff0c;还是”疑问式开头“。写代码也有些类似。在编码之前我们须要考虑系统总体方案&#xff0c;这也就是各种设计文档的作用。在设计新系统之初&#xff0c;我基本的目的是&#xff1a;保证高效率&…

64岁Python之父退休失败,正式加入微软搞开源

来源 | CSDN今天&#xff0c;64岁的Python 之父 Guido van Rossum 在 Twitter 上正式宣布&#xff0c;退休太无聊&#xff0c;如今加入了微软开发者部门。Guido van Rossum 去年宣布退出 Python 核心决策层事实上&#xff0c;近几年来&#xff0c;随着人工智能的飞速发展&#…

Java实现HTTP文件下载(转)

文章出自: http://www.360doc.com/content/12/1218/17/2718300_254818081.shtml 本人用这种方法解决了工作中遇到的问题,再次谢谢文章的作者. 序言 许多用户可能会遇到这样的情况&#xff1a;在网站上发现一个很好的资源&#xff0c;但是这个资源是分成了很多个文件存放的&…

初学web标准的几个误区

初学web标准的几个误区作者&#xff1a;阿捷 2004-7-7 11:37:11非常高兴地看到很多设计师开始关注和尝试使用web标准制作网页。但从网友们的问题和制作中发现几个问题&#xff0c;在这里特别提醒一下&#xff1a; 1.不是为了通过校验才标准化。 web标准的本意是实现内容(结构…

nginx系列:nginx反向缓存代理详解

小生博客&#xff1a;http://xsboke.blog.51cto.com如果有疑问,请点击此处,然后发表评论交流,作者会及时回复。-------谢谢您的参考&#xff0c;如有疑问&#xff0c;欢迎交流一、 代理和nginx相关概念1. 代理类型正向代理&#xff1a;代理局域网对internet的连接请求反向代理&…

编辑PDF文档,Word 2013可以是您的选择

题外话&#xff1a;记得刚进公司的时候&#xff0c;几乎所有的培训文档都是PDF、标准文档&#xff0c;公司使用的软件是Adobe Acrobat 5.0&#xff08;不知道多少钱&#xff0c;呵呵&#xff09;&#xff0c;软件当然是购买正版的&#xff1b;去年&#xff0c;公司购买了新版本…

中国人工智能学会2020年度优秀科技成果出炉,百度文心ERNIE入选

11月14日&#xff0c;由中国人工智能学会&#xff08;CAAI&#xff09;主办的2020第十届中国智能产业高峰论坛&#xff08;CIIS 2020&#xff09;正式开幕&#xff0c;CAAI理事长戴琼海院士、何积丰院士、何友院士、王恩东院士、陆军院士等多位中外院士、专家齐聚嘉兴南湖&…

web标准,我们去向何方?一些想法...

web标准&#xff0c;我们去向何方&#xff1f;一些想法...作者&#xff1a;阿捷 2004-7-5 0:52:42原文作者&#xff1a;Veerle 原文出处&#xff1a;veerle.duoh.com 原文发表时间&#xff1a;2004年6月14日 译者注&#xff1a;本文是"你应该关注web标准的真正原因"…

事件源ES的优势

多年来,开发人员实现持久性使用传统的创建、读取、更新、删除(CRUD)模式。正如前面介绍的,如果采购模型实现持久性存储状态更改为历史事件捕获业务活动发生之前写的数据存储。这将事件存储机制,允许他们被聚合,或者放在一个组与逻辑边界。事件采购的模式之一,使并发、分布式系统…

你应该关注web标准的真正原因

你应该关注web标准的真正原因作者&#xff1a;阿捷 2004-7-4 2:28:39原文作者&#xff1a;Andrei Herasimchuk 原文出处&#xff1a;designbyfire.com 原文发表时间&#xff1a;2004年6月11日 译者前言&#xff1a;这是一篇让人震惊的文章。作者的分析深刻&#xff0c;文笔犀…

为什么我们需要开源的系统芯片?

作者 | bunnie译者 | 弯月&#xff0c;编辑 | 杨碧玉来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;现代的小型电子产品往往基于某个高度集成的芯片构建&#xff0c;这种芯片称为“系统芯片”&#xff08;System on aChip&#xff0c;缩写&#xff1a;SoC&#xf…

InnoDB和MyISAM区别

MySQL作为当前最为流行的免费数据库服务引擎&#xff0c;已经风靡了很长一段时间&#xff0c;不过也许也有人对于MySQL的内部环境不很了解&#xff0c;尤其那些针对并发性处理的机制。今天&#xff0c;我们先了解一下MySQL中数据表的分类&#xff0c;以及它们的一些简单性质。 …