javaweb
1.Servlet
1.1简介
- Servlet:开发动态web的一门技术,全称Java Servlet,是用java编写的服务器端程序。
- APi中提供一个接口叫做:Servlet(狭义的Servlet)
- 任何实现了这个Servlet接口的类(广义的Servlet,一般情况,人们将理解Servlet)
- 开发一个Servlet程序(实现了Servlet接口的Java程序),两个步骤:
- 1.编写一个类,实现Serlet接口
- 2.把开发好java类部署到web服务器中。
- Serlvet接口有两个默认的实现类:HttpServlet,GenericServled
- Servlet运行于支持Java的应用服务器中(tomcat)
1.2HelloServlet
1.构建一个web项目
servlet依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
2.修改web.xml为最新的
<?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">
3.编写一个Servlet程序
1.编写一个普通类
2.实现Servlet接口,这里我们直接继承HttpServlet
HttpServlet–GenericServled–Servlet
3.1.编写一个Servlet程序
- 编写一个普通类
- 实现Servlet接口,直接继承HttpServlet(Servlet接口流程)
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
writer.print("Hello,Servlet");
}
}
3.2.编写Servlet的映射
为什么需要映射:我们写的是java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要再web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.zhao.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>hello</url-pattern>
</servlet-mapping>
3.3.配置Tomcat
注意配置中缺少artifacts请在projectstructure中module设置web和artifacts中添加模块
3.4启动
1.3Servlet原理
个人理解
浏览器请求Servlet程序,web容器创建request和response对象,调用service(ServletRequest req, ServletResponse res)方法返回值传递给response,最后web容器返回浏览器
详细图解看时间补充
|