码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet基础

时间:2015-04-13 12:51:00      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

1. 什么是Servlet

Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求-相应”编程模型来访问的这个驻留在服务器内存里的Servlet程序。

 

2. Tomcat容器等级

Tomcat的容器分为四个等级,Servlet的容器管理Context容器,一个Context对应一个Web工程。

技术分享

 

3. 手工编写第一个Servlet

3.1. 继承HttpServlet

技术分享

3.2. 重写doGet()或者doPost()方法

3.3. 在web.xml中注册Servlet

3.4. 实操

——新建WEB项目

3.4.1. 新建WebProject

3.4.2. 填写WebProject名称,完成

3.4.3. 打开WebRoot -> index.jsp,修改字符编码为UTF-8

 1 //<%@ page language="java" import="java.util.*" pageEncoding-"ISO-8859-1"%>
 2 
 3 <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
 4 
 5 //<body>
 6 //    This is my JSP page. <br>
 7 //</body>
 8 
 9 <body>
10   <hl>第一个Servlet小例子</hl>
11   <hr>
12   <!--用Get方式请求Servlet // href内填访问地址-->
13   <a href="servlet/HelloServlet">Get方式请求HelloServlet</a> 
14   <!-- 用Post方式请求Servlet -->
15   <!-- from表示提交表单,action表示表单提交给哪个程序,method表示提交方式 -->
16   <from action="servlet/HelloServlet" method="post"> 
17     <input type="submit" value="Post方式请求HelloServlet" />
18   </from>
19 </body>

 

——编写用户自定义Servlet类

3.4.4. 在src里新建包,名称为servlet

3.4.5. 包下新建类,名称为HelloServlet,指定父类为HttpServlet,完成

——重写doGet和doPost两个方法

3.4.6. 选择Source -> Override /Implement Methods,选中重写doGet和doPost两个方法,确定

3.4.7. 修改参数名,重写方法内容

 1 package servlet;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.http.HttpServlet;
 8 import javax.servlet.http.HttpServletRequest;
 9 import javax.servlet.http.HttpServletResponse;
10 
11 // 继承与HttpServlet
12 public class HelloServlet extends HttpServlet {
13 
14     @Override
15     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
16     // TODO Auto-generated method stub
17     //super.doGet(req, resp);
18     System.out.println("处理Get()请求....");
19     PrintWriter out = response.getWriter(); // 获得一个给浏览器输出的对象
20     response.setContentType("text/html;charset=utf-8"); // 指定输出类型;输出字符集
21     out.println("<strong>HelloServlet</strong><br>"); // out对象给浏览器输出信息,可写入HTML代码
22     }
23 
24     @Override
25     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26     // TODO Auto-generated method stub
27     //super.doPost(req, resp);
28     System.out.println("处理Post()请求....");
29     PrintWriter out = response.getWriter(); // 获得一个给浏览器输出的对象
30     response.setContentType("text/html;charset=utf-8"); // 指定输出类型;输出字符集
31     out.println("<strong>HelloServlet</strong><br>"); // out对象给浏览器输出信息,可写入HTML代码
32     }
33     
34 }

 

——注册Servlet

3.4.8. 打开WebRoot -> WEB-INF -> web.xml,增加两个标签在<welcome-file-list>之后

 1   <!--配置Serlvet-->
 2   <servlet>
 3     <!--servlet的名称-->
 4     <servlet-name>HelloServlet</servlet-name> 
 5     <!--访问servlet所在的类,要求路径写完整即包名.类名-->
 6     <servlet-class>servlet.HelloServlet</servlet-class> 
 7   </servlet>
 8   
 9   <!--配置servlet-mapping-->
10   <servlet-mapping>
11     <!--与上方的名称一一对应-->
12     <servlet-name>HelloServlet</servlet-name> 
13     <!--servlet访问的路径,要求与index.jsp中的超链接地址一一对应,前一个/表示根目录-->
14     <url-pattern>/servlet/HelloServlet</url-pattern> 
15   </servlet-mapping>

——发布项目

3.4.9. 点击

技术分享

打开manage deployments界面,选择发布项目,点击ADD选择Tomcat7,点击完成

3.4.10. 点击启动

技术分享

3.4.11. 打开浏览器,输入地址(http://localhost:8080/MyFirstServletDemo/index.jsp)

 

4. 使用MyEclipse编写Servlet

 

5. Servlet生命周期

 

6. Servlet获取九大内置对象

 

7. Servlet与表单

 

8. Servlet路径跳转

 

指定父类为HttpServlet,完成

Servlet基础

标签:

原文地址:http://www.cnblogs.com/BlackList-Sakura/p/4421830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!