Servlet入门案例(一)认识Servlet

简介: Servlet入门案例(一)认识Servlet

1、什么是Servlet?

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

2、为什么要使用servlet?

我们把html放入到tomcat后,可以通过浏览器访问这些页面。但是这些页面都是静态不会变化的内容。任何人,任何时间看到的内容都是一样的。

Servlet能够使html源码动态的产生。Servlet是一个java类,他运行在服务器。

3、Servlet的第一个案例

写一个java类,继承 HTTPServlet,就是一个Servlet类。也可以在创建时,直接指定父类


重写 doGet() 或者 doPost() 方法、或者重写service方法,右击 ->source->override


在 web.xml 中配置 Servlet的访问路径以及全限定名


注意: 在使用 myeclipse2014 时及以后版本时,新建的 web 项目没有 web.xml 文件,

解决:在新建项目之后,填写完项目名,不要点 finish 要点 next,然后选中创建 web.xml 文件

使用 myeclipse 编写 servlet

src->new->servlet

重写 doGet()doPost()

部署运行


例如:把当前时间动态显示到浏览器的Servlet:

书写步骤为:


①.写这个servlet类,Servlet类应该继承HttpServlet

package com.macw.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * servlet类要继承HttpServlet
 * HttpServlet java项目中没有这个类,需要导入外部的jar包。
 * jar包在tomcat安装路径的lib文件夹里面。
 * @author Administrator
 * 重写父类中的servcie方法。
 */
public class FirstServlet extends HttpServlet {
  public void service(HttpServletRequest request,HttpServletResponse response) throws IOException{
    //生成动态的html源码
    Date d=new Date();
    System.out.println(d);
    String html="<html>"
        + "<head><title>我是标题</title></head>"
        +"<body>"+d+"</body>"
        + "</html>";
    //把html源码响应给浏览器
    //设置服务器给浏览器响应的数据的格式是html
    response.setContentType("test/html");
    //设置服务器给浏览器响应的数据的编码集
    response.setCharacterEncoding("utf-8");
    //设置具体的响应内容。
    PrintWriter out=response.getWriter();
    out.print(html);
    out.close();
  }
}

②.编译servlet类成class文件

MyEclipse会自动编译该java文件。

③.把这个class文件放入到tomcat相应的目录里面(部署servlet)

Tomcat
 |-webapps
    |-myweb
        |-WEB-INF
            |-classes(专门存放servlet类)
                |-com.macw.servlet.FirstServlet(class文件)
            |-web.xml

④.每一个servlet都需要在配置文件中进行配置。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <servlet>
  <!--servlet的名字,是随便起的,要跟servlet-mapping里面的servlet-name一致,一般默认和servlet类名相同 -->
    <servlet-name>FirstServlet</servlet-name>
    <!--servlet的包名和类名(全限定名) -->
    <servlet-class>com.macw.servlet.FirstServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <!--要跟servlet中的servlet-name保持一致 -->
    <servlet-name>FirstServlet</servlet-name>
    <!--url-patten要以/开头,后面内容随便写,是浏览器的请求路径 -->
    <url-pattern>/first</url-pattern>
  </servlet-mapping>

4、常见错误

①.404错误。

根本原因:访问的资源不存在。

A.检查你的访问的路径,也就是浏览器输入的网址。Url请求。

B.检查tomcat启动时候是否报错。再根据tomcat的报错信息定位错误。

②405错误

错误原因是servlet的类的service方法没有被重写。

③500错误

500错误的原因很多,追其根本是因为java类中出现异常。

出现500错误后要详细去看报错信息。再根据报错信息定位错误。

④.地址被占用

Tomcat的端口号被占用。


目录
相关文章
|
7月前
Servlet使用适配器模式进行增删改查案例(IDeptService.java)
Servlet使用适配器模式进行增删改查案例(IDeptService.java)
|
7月前
Servlet使用适配器模式进行增删改查案例(EmpDaoImpl.java)
Servlet使用适配器模式进行增删改查案例(EmpDaoImpl.java)
|
7月前
Servlet使用适配器模式进行增删改查案例(DeptDaoImpl.java)
Servlet使用适配器模式进行增删改查案例(DeptDaoImpl.java)
|
7月前
Servlet使用适配器模式进行增删改查案例(IEmpService.java)
Servlet使用适配器模式进行增删改查案例(IEmpService.java)
|
6月前
|
SQL druid Java
javaweb案例实训之基于jsp和servlet的用户管理开发[增删改查及登录注销]
javaweb案例实训之基于jsp和servlet的用户管理开发[增删改查及登录注销]
45 0
|
7月前
使用ueditor实现多图片上传案例——Servlet层(UploadServlet)
使用ueditor实现多图片上传案例——Servlet层(UploadServlet)
|
7月前
Servlet使用适配器模式进行增删改查案例(BaseServiceImplTest.java)
Servlet使用适配器模式进行增删改查案例(BaseServiceImplTest.java)
|
7月前
Servlet使用适配器模式进行增删改查案例(EmpServiceImpl.java)
Servlet使用适配器模式进行增删改查案例(EmpServiceImpl.java)
|
7月前
Servlet使用适配器模式进行增删改查案例(DeptServiceImpl.java)
Servlet使用适配器模式进行增删改查案例(DeptServiceImpl.java)
|
7月前
Servlet使用适配器模式进行增删改查案例(BaseDaoUtilImpl.java)
Servlet使用适配器模式进行增删改查案例(BaseDaoUtilImpl.java)
下一篇
DataWorks