标签:计算机 header ams http 资源 简单 技术分享 char 应用
原文地址: http://blog.codingme.net/post/java-web-01-first-servlet
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:
Servlet本质上是一个Java类,创建一个Servlet很简单,就是定义一个Java类,这个类继承自javax.servlet.http.HttpServlet
类,覆盖其中的doGet和doPost方法,在doGet和doPost中编写处理请求的代码。
由于 Servlet 不是 Java 平台标准版的组成部分,所以必须添加jar包:servlet-api.jar
可以在Tomcat下lib目录下找到,也可自行下载添加。
示例:FirstServlet.java(注意看代码注释)
package net.codingme.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 第一个servlet测试
*
*/
// @WebServlet("/firstServlet")
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public FirstServlet() {
super();
}
// get请求处理
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置响应的文本类型和字符编码
response.setContentType("text/html;charset=UTF-8");
//通过输出流向客户端做出响应
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h3>firest servlet</h3>");
out.println("</body></html>");
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Web请求方式除了GET和POST其实还有很多中,例如PUT、DELETE等,GET和POST则最为常用,所以通常只覆盖doGet和doPost方法。response.setContentType(“text/html;charset=UTF-8”);用于设置响应的文本类型和编码方式,通过响应对象获得输出流对象out,用于向客户端浏览器输出响应内容,代码中输出的HTML标记,这实际上是一个动态的Web的页面。
Servlet编写完成之后,需要在工程WEBROOT/WEB-INF/web.xml
中进行配置才可以生效,web.xml是Web应用的主配置文件,包含Web应用配置的主要信息。
在web.xml中根元素<web-app>
中配置Servlet,代码如下:
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>net.codingme.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/firstServlet</url-pattern>
</servlet-mapping>
配置解释:
<servlet>
<servlet-name>servlet名</servlet-name>
<servlet-class>servlet的class的全名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet名</servlet-name>
<url-pattern>servlet的访问路径</url-pattern>
</servlet-mapping>
如果Servlet版本是3.0及以上的,可以使用注解进行配置,省去web.xml中的配置。配置方式如:
package net.codingme.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 第一个servlet测试
* 使用注解
*/
@WebServlet("/firstServlet")
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public FirstServlet() {
super();
}
.
.
.
Servlet配置完成之后,把Servlet所在工程项目部署到Web服务器上并启动Web服务器,此时Servlet将可以被访问到,访问地址格式为协议://服务器地址:端口号/WEB应用名/Servlet的访问路径
Web Server可以定位到访问具体哪一个Servlet:
<url-pattern>
值与请求路径相匹配的项<servlet-mapping>
中<servlet-name>
与<servlet>
中<servlet-name>
值相等,)<servlet-class>
,可以访问到指定的Servlet类,Web服务器将在第一次访问Servlet时实例化Servlet一个对象,为客户端提供响应服务。访问Servlet有三种方式
访问测试
Servlet开发步骤:
Servlet执行流程:
标签:计算机 header ams http 资源 简单 技术分享 char 应用
原文地址:http://www.cnblogs.com/niumoo/p/7235620.html