2.Servlet基础.md



1.定义

Servlet:用Java编写的动态资源开发技术

2.特点

  • Servlet类是一个普通的Java类,只是继承了HttpServlet类
  • Servlet只能交给tomcat服务器运行,不能自己运行

3.手动编写一个Servlet

3.1创建一个Servlet类

package per.liyue.code.serverlet;
import java.io.IOException;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServerlet extends HttpServlet{
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //解决中文
        resp.setContentType("test/html;charset=utf-8");
        
        resp.getWriter().write("This is the first serverlet, currenttime:" + new Date());
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    }
}

3.2找到编写类的class文件,将这个类的整个包拷贝到一个web应用中的WEB-INF/classes目录下。 注意要整个包拷贝,且路径不要错

3.3在当前web应用下的web.xml中配置这个Servlet类

<?xml version="1.0" encoding="UTF-8"?>


<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">
  
  <!--配置一个Servlet程序-->
  <servlet>
    <!--servlet的内部名称,可以自定义,最好是对应的类名-->
    <servlet-name>HelloServerlet</servlet-name>
    <!--servlet类名:包名+简单类名-->
    <servlet-class>per.liyue.code.serverlet.HelloServerlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <!--servlet内部名称,和上面的名称保持一致-->
    <servlet-name>HelloServerlet</servlet-name>
    <!--访问名称: /名称-->
    <url-pattern>/hello</url-pattern>
  </servlet-mapping>


</web-app>


访问中,查找对应类的逻辑:

3.4启动服务器,访问servlet:

http://localhost:8080/myweb/hello

4.IDE开发

4.1新建项目

  • 切换到Myeclipse新建WebProject
  • 在src上新建Servlet,修改对应的代码输出
  • 在WebRoot目录上新建html
  • 修改WEB-INF下的web.xml修改对应关系
  • 在Preferences中MyeclipseServers中配置tomcat服务器
  • 配置完成后在Servers标签页中右键对应的服务器,找到发布。
  • 将对应项目添加,完成后还是对应服务器右键,点击发布

4.Web应用目录的简单层次

  • Web
    • WebRoot根目录
      • 静态资源:html...可以直接被浏览器访问到
      • WEB-INF: 不可以直接被浏览器访问,通过服务器tomcat
        • classes:存放class文件字节码(也就是动态网页的实现代码)
        • lib:各种jar包文件
        • web.xml:配置文件-配置servlet
原文地址:https://www.cnblogs.com/bugstar/p/8512620.html