servlet的简单定义

1、servlet:
    动态的web开发技术,本质就是一个类,运行在服务器端的一个java小程序
    处理业务逻辑,生成动态web内容
     (不太贴切的可以认为是链接浏览器和服务器的类,用来处理请求和响应,并作出相应的操作)
 
2、编写一个servlet步骤:
    1.编写一个类
        a.继承HttpServlet
        b.重写doGet或者doPost方法
          (实际上是默认调用service方法,但是这个方法中是根据请求方式在调用doget或者dopost,所以
          通常覆盖这两个方法就可以)
 
 1 public class ShowServlet extends HttpServlet {
 2      private static final long serialVersionUID = 1L;
 3      //覆盖两个方法
 4      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 5           response.setContentType("text/html;charset=utf-8");
 6           ServletContext sContext = getServletContext();
 7           Integer count = (Integer)sContext.getAttribute("count");
 8           response.getWriter().print("当前的访问次数为:"+count);
 9  
10      }
11  
12      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
13           doGet(request, response);
14      }
15  
16 }

 

    2.编写配置文件(web-inf/web.xml)
        a.注册servlet
        b.绑定路径
          (在配置文件中添加项目,效果如下:)
      servlet-class中存储的是类的路径
     servlet和servlet-mapping要成对出现
 
1 <servlet>
2     <servlet-name>helloservlet</servlet-name>
3     <servlet-class>servlet_practice.hello_servlet.MyServlet</servlet-class>
4 </servlet>
5 <servlet-mapping>
6     <servlet-name>helloservlet</servlet-name>
7     <url-pattern>/hello</url-pattern>
8 </servlet-mapping>
 
    3.访问
        http://主机:端口号/项目名/路径
 
3、接受参数:  格式:key=value
    Sting value=request.getParameter("key")
    例如: http://localhost/day09/hello?username=tom
        request.getParameter("username")就可以获取tom值
     在post方式中,直接使用getParameter方法也可以,因为这些参数保存在请求体中,比如表单提交; 
 
1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
2      String name=req.getParameter("username");
3      String pwd = req.getParameter("password");
4 }
 
4、回写内容:
    response
    response.getWriter().print("success");
    处理响应数据中文乱码:
        resp.setContentType("text/html;charset=utf-8"); //建议大家放在方法中的第一行
1  
2 response.setContentType("text/html;charset=utf-8");
3 ServletContext sContext = getServletContext();
4 Integer count = (Integer)sContext.getAttribute("count");
5 response.getWriter().print("当前的访问次数为:"+count);

 

 
posted @ 2017-09-06 21:55  赵安之  阅读(515)  评论(0编辑  收藏  举报