Servlet开发
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Servlet开发,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4382字,纯文字阅读大概需要7分钟。
内容图文
文章目录
1.Servlet的作用
为什么要学习Servlet呢?
服务资源:
(1)tomcat部署的项目目录中,根目录下,除了WEB-INF文件夹外的,当作前端资源(静态资源)
(2)Servlet后端代码代码提供的动态资源(所谓的动态资源是以代码的方式,解析http请求),返回响应(可以提供动态的body字符串))。
2.1 idea中搭建,部署,运行一个web项目
在web.xml文件中配置Servlet.
(1)首先创建一个Maven项目,然后给pom.xml配置一些参数。
<packaging>war</packaging> //设置为web项目
<dependencies>
<dependency> //web后端开发的Servlet依赖包
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
(2)设置web项目开发结构需要的web资源文件夹,把webapp文件夹复制粘贴到src下面的main。
(3)打开Maven面板进行刷新,让web项目设置生效。
(4)配置tomcat,部署项目(和前面部署一样)https://blog.csdn.net/qq_52206533/article/details/115755048
idea中部署web项目,运行tomcat,不需要打包这个步骤。(应用上下文路径是自己指定的)。
(5)启动tomcat
(6)访问资源(输入url访问资源),验证配置是否成功,web项目是否正确,tomcat是否运行正确。
3.开发步骤
3.1 xml配置: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_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
3.2注解方式
Servlet开发的步骤:
- 1.使用@WebServlet("/服务资源路径")
- 2.继承HttpServlet
- 3.重写XXX的方法,表示提供XXX的服务方法(请求方法)
package org.example.servelt;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Servlet的作用:
* 解析http请求,返回http响应,以带码的方式提供服务资源(动态资源)
*
* 重写的方法,包含两个对象,request response
* 一般是通过request方法来获取http请求的部分信息
* 现在虽然已经有response,但是还没有返回响应的http数据
*我们自己的程序:设置response对象的内容
* tomcat:通过程序方法返回,通过response对象组装成http响应
*
* 注意事项:
* 1.服务路径必须以/开头
* 2.多个Servlet服务路径不能重复
*/
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//所有的Servlet重写的方法都有比较固定的处理
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html");
//模拟响应动态的网页,从其他地方获取(如数据库)
String name="张三";
//通过response对象获取输出流。输出流输出的字符串为body内容
PrintWriter pw=resp.getWriter();
pw.println("<h2>欢迎您 "+name+"</h2>");
}
}
4.Tomcat 与Servlet的关系
Tomcat是一个web服务器,也是一个Servlet容器,作为servlet容器,管理Servlet对象的生命周期(实例化对象,方法调用)
Tomcat是一个java程序,tomcat提供的是基于java开发的,开发时并不知道要实例化哪个Servlet对象,基于反射来实例化Servlet对象。
扫描项目类加载路径(WEB-INF/classes),使用了Servlet注解的类,再基于反射实例对象。
1.tomcat自动的解析http协议的数据
2.根据请求的应用上下文路径,查找应用
3.根据服务路径,找Servlet
4.找到Servlet,让Servlet处理http请求,返回响应,调用Servlet对象的的service方法。
5.Servlet相关的API
5.1 HttpServletRequest
(1)设置请求编码的方法:
req.setCharacterEncoding("UTF-8");
(2)通过请求头的键来获取值
getHeader(String name)
(3)获取请求方法
getMethod()
(4)获取请求数据:通过键来获取值
String getParameter(String name)
这个方法能获取到的数据:
1.获取queryString中的数据
2.Content-Type为application/x-www-form-urlencoded body的格式和queryString 的格式一样可以获取到。
5.2 HttpServletResponse
(1)设置请求编码的方法:
resp.setCharacterEncoding("UTF-8");
(2)添加响应头
addHeader(String name,String value)
(3)设置状态码
setStatus(int sc)
不设置是返回200状态码。
(4)设置数据类型
resp.setContentType("text/html");
响应有body,一定要设置数据类型
(5)通过response对象获取输出流。输出流输出的字符串为body内容
PrintWriter pw=resp.getWriter();
pw.println("<h2>欢迎您 "+name+"</h2>");
内容总结
以上是互联网集市为您收集整理的Servlet开发全部内容,希望文章能够帮你解决Servlet开发所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。