1、什么是Servlet?
以前我们在做jsp 的时候,就是在 JSP页面中写入Java代码,当服务器运行JSP页面时,执行Java代码动态获取数据,并生成HTML代码,最终现实中客户端浏览器上。如下图:
现在 有了Servlet 后,如图:
一句话来概括就是:Servlet就是一个在java程序,是运行在服务端,接受和处理用户请求,并做出响应的程序;
我们先来看一下 Servlet的代码:
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class HelloServlet extends HttpServlet {
- public void doGet(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException { response.setContentType("text/html;charset=gb2312");
- PrintWriter out = response.getWriter();
- out.println("<html>");
- out.println(" <head><title>Servlet</title></head>");
- out.println(" <body>");
- out.println("你好,欢迎来到Servlet世界");
- out.println(" </body>");
- out.println("</html>");
- out.close();
- }
- }
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println(" <head><title>Servlet</title></head>");
out.println(" <body>");
out.println("你好,欢迎来到Servlet世界");
out.println(" </body>");
out.println("</html>");
out.close();
}
}
导入所需要的包
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
处理请求的方法
- public void doGet(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
将数据发送到客户端
- response.setContentType("text/html;charset=gb2312");
- PrintWriter out = response.getWriter();
- out.println("<html>");
- out.println(" <head><title>Servlet</title></head>");
- out.println(" <body>");
- out.println("你好,欢迎来到Servlet世界");
- out.println(" </body>");
- out.println("</html>");
- out.close();
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println(" <head><title>Servlet</title></head>");
out.println(" <body>");
out.println("你好,欢迎来到Servlet世界");
out.println(" </body>");
out.println("</html>");
out.close();
看完代码 你有可能还是很模糊,下面我们就来用MyEclipse来创建一个
点击后就会弹出
我们需要把给勾上,然后点击 Next(下一步)
我们需要把那标出来的servlet 给删了,为什么删我们回头再说。都做完之后 我们就点击Finish 按钮就完成了创建;
我们来看一下代码:
使用Get方法提交,触发doGet()方法
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
使用Post方法提交,触发doPost()方法
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpServletRequest 是请求对象
HttpServletResponse 是响应对象
创建完后 我们在再来看一下web.xml配置文件
你就会看见多了以下代码:
- <servlet>
- <description>This is the description of my J2EE component</description>
- <display-name>This is the display name of my J2EE component</display-name>
- <servlet-name>HelloServlet</servlet-name>
- <servlet-class>Demo.HelloServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>HelloServlet</servlet-name>
- <url-pattern>/HelloServlet</url-pattern>
- </servlet-mapping>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>Demo.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
这里我来说明下该几个节点作用相信懂点英文的朋友一下就看出来了
servlet根节点下的
description节点是用来描述该 Servlet说明
display-name 是设定当前Servlet的内部名称
servlet-class是用来指定对应Servlet内部名相关类
servlet-mapping根节点下
servlet-name 通过Servlet内部名来把URL 与Class绑定的作用
url-pattern 这里就是用户访问Servlet的URL
这里我们主要做的就是定义<servlet>和<servlet-mapping>.为了在出现错误的时候,能够快速的更准确的找到问题。我习惯吧<url-pattern>的值,设置为"/"+<servlet-name>的名字 所以我们在上面吧那个 蓝色选中的servlet 删了;
在做好相应的配置后我们用Tomcat 来发布 访问一下 测试:
这里默认的意思就是采用了 GET方式访问的。
今天就写到这里 下会继续 喜欢的朋友可以顶一下,你们的支持是我的动力
今天就写到这里 下会继续 喜欢的朋友可以顶一下,你们的支持是我的动力
转载的源地址:
http://blog.csdn.net/qq346421418/article/details/6591438