Servlet和JSP学习指导与实践(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Servlet和JSP学习指导与实践(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3762字,纯文字阅读大概需要6分钟。
内容图文
![Servlet和JSP学习指导与实践(一)](/upload/InfoBanner/zyjiaocheng/1308/afef3b3382e44fad971d949e5dc7f315.jpg)
前言:
JavaSE如何跨度到JavaEE?原本java语言只是专门用于application桌面小应用程序的开发,但自从其追随CGI进入服务器端的开发之后便一发不可收拾。先是Servlet1.0,再是2.0,然后又3.0 ... 之后,各种基于Web的框架发展迅猛,Spring,Struts,Struts2等等。从事Java的人不少都是从jsp开始,甚至从框架开始,但却不知Servlet为何物?本系列将专门讲述Java Web的始祖---“Servlet”(会讲述JSP相关内容,但其实JSP也是Servlet)。
----------------------------------------------------
Part1:Servlet主要API介绍:
讲述Servlet,让我们从javax.servlet,javax.servlet.http两个package中的接口和类开始。请看下面的UML简图:
图1
图2
其中,“Servlet”接口是任何Servlet必须直接或间接实现的接口!其常见的有init(),service(),destroy()三个方法,还有不是很常用的方法getServletInfo()和getServletConfig()。一般而言,service()是我们自定义Servlet是执行重点的业务操作,而init()和destroy()一个发生在Servlet初始时调用,一个发生在Servlet销毁时调用!
request,response可以说是Web应用中最常见的2个变量。通过追根溯源我们从上面的UML可以知道它们源自ServletRequest和ServletResponse接口。只不过很多时候我们见到的request已经被不少中间类经过不只一层的包装。比如:HttpServletRequest,或者struts中的Map<String,Object> request等。
作为入门篇,我们暂时不往内深究,就此打住。下面通过一个小实例,让我们熟悉一下实现一个基本的Servlet需要哪些步骤。
- Step1:
新建"Web Project",必须含有JavaEE相关jar包;
- Step2:
新建Java类,并实现Servlet接口或者继承GenericServlet类。
重写service()方法,打印html语句。
- Step3:
通过注解方式部署或者通过部署文件“web.xml”部署。
----------------------------------------
Part2: 实例app01a
方式一:实现Servlet接口
Code:
package app01a; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet; // @WebServlet(name = "myServlet", urlPatterns = { "/My", "/Your" }) public class MyServlet implements Servlet { @Override publicvoid destroy() { System.out.println("--destroy--"); } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stubreturnnull; } @Override public String getServletInfo() { // TODO Auto-generated method stubreturnnull; } @Override publicvoid init(ServletConfig arg0) throws ServletException { // TODO Auto-generated method stub } @Override publicvoid service(ServletRequest request, ServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.print("<html><head></head><body>" + "Hello servlet! " + "</body></html>"); } }
部署文件:web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7 8 <servlet> 9 <servlet-name>myServlet</servlet-name> 10 <servlet-class>app01a.MyServlet</servlet-class> 11 </servlet> 1213 <servlet-mapping> 14 <servlet-name>myServlet</servlet-name> 15 <url-pattern>/My</url-pattern> 16 </servlet-mapping> 17 </web-app>
项目文件布局:
测试结果:
方式二:继承GenericServlet类
Code
1 package app01a; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.GenericServlet; 7 import javax.servlet.ServletException; 8 import javax.servlet.ServletRequest; 9 import javax.servlet.ServletResponse; 10 import javax.servlet.annotation.WebServlet; 11 12 @WebServlet(name="MyServletWithGeneric",urlPatterns={"/MyGeneric"}) 13publicclass MyServletWithGeneric extends GenericServlet { 1415 @Override 16publicvoid service(ServletRequest request, ServletResponse response) 17throws ServletException, IOException { 1819 PrintWriter out = response.getWriter(); 20 out.print("<html><head></head><body>" + "Servlet extends GenericServlet! " 21 + "</body></html>"); 2223 } 2425 }
测试结果:
:
------------------------
注意:实现本文例子的前提是已经安装好tomcat!若没有tomcat环境,下载地址 http://tomcat.apache.org
原文:http://www.cnblogs.com/SeaSky0606/p/4769765.html
内容总结
以上是互联网集市为您收集整理的Servlet和JSP学习指导与实践(一)全部内容,希望文章能够帮你解决Servlet和JSP学习指导与实践(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。