servlet简介
来源:互联网 发布:阿里云 广东省银监会 编辑:程序博客网 时间:2024/06/12 12:01
servlet类简介
servlet类通过init () 方法进行初始化,service() 方法来处理客户端的请求,destroy() 方法终止(结束)。最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
而常见的doGet、doPost、doPut、doDelete 等方法都是隶属于service中的一种。
下面是一个最简单的servlet类(不通过注释)
public class HelloServle extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "第一个Servlet程序"; String docType = "<!DOCTYPE html>\n"; String word="Hello Servlet"; out.println(docType + "<html><head><title>" + title + "</title></head><body><h1 align='center'>" + word + "</h1></body></html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
该servlet需要在web.xml上进行配置才能使用
<web-app> <servlet> <servlet-name>HelloServle</servlet-name> <servlet-class>HelloServle</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServle</servlet-name> <url-pattern>/hello/HelloServle</url-pattern> </servlet-mapping></web-app>
其中url-pattern是servlet在服务器上显示的名字
不过以上是在servlet3.0之前的一般用法,在web3.0之后,一般来说创建得web项目里面没有web.xml文件(需要自己编写),但同时,其中大部分的需要配置的部分都可以使用@Annotation(此时需要web.xml中的版本号高于3.0)进行配置
如上面的代码,若是使用@Annotation进行配置使用的话,只需要在类前面加上@WebServlet(“/hello/HelloServlet”)就会在没有使用web.xml进行配置的同时达到同样的效果。
此时另外写个相似的类进行示例
示例如下:
@WebServlet("/helloServlet/HelloServlet")public class HelloServletForAnnotation extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "第一个Servlet程序(注释版本)"; String docType = "<!DOCTYPE html>\n"; String word="Hello Servlet For Annotation"; out.println(docType + "<html><head><title>" + title + "</title></head><body><h1 align='center'>" + word + "</h1></body></html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
产生效果如下:
同时,类似于servlet的filter文件也可以使用注释进行配置,使用的配置代码为@WebFilter(“”)
不过需要注意@WebServlet(“path”)中的path以及web.xml中的url-pattern中填写路径时需要前面加上/,比如路径名为hello,那最终写的时候不该是@WebServlet(“hello”)而该是@WebServlet(“/hello”),否则会报错
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/项目名]]
- Servlet简介
- Servlet 简介
- Servlet简介
- Servlet 简介
- Servlet简介
- servlet 简介
- Servlet 简介
- Servlet简介
- Servlet简介
- Servlet简介
- Servlet 简介
- servlet简介
- Servlet简介
- servlet简介
- Servlet简介
- Servlet简介
- Servlet简介
- Servlet简介
- 纪中八月五号到二十五号集训总结
- 使用spring4的websocket支持
- Merge k Sorted Lists--lintcode
- 用图形化文件对比工具kdiff3解决git rebase冲突
- vue表单事件绑定
- servlet简介
- 暑假训练总结
- 介绍一个很全面源码关于android 账户管理的源码
- 《JS高级程序设计》第6章读书笔记:对象继承(一)原型链
- VS2010 解决控制台窗口一闪而过的问题
- 【JavaSE笔记】反射_枚举_JDK新特性
- 【学习笔记】Vue响应式原理
- poj2253—Frogger (并查集最短路)
- Saprk 报错java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE