目录
Servlet 简介
Servlet 环境设置
导入jar包
web.xml文件配置
@WebServlet注解配置
web.xml文件的方式和@WebServlet区别
Servlet 简介
Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
总而言之,Servlet 是用于处理 Web 请求和响应的标准 Java 技术,是 Web 应用程序开发不可或缺的组成部分。
Servlet 环境设置
导入jar包
File-> Project Structure-> libraries 选择“+”,选择java-> 找到tomcat路径下的lib文件夹里选择servlet-api 与 jsp-api;
web.xml文件配置
在 WEB-INF 目录下创建 web.xml 文件;
<servlet>
<!-- Servlet别名 自定义-->
<servlet-name>TestServlet</servlet-name>
<!--servlet的类全名-->
<servlet-class>ccc.com.servlet.testServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 将Servlet和URL绑定 -->
<!--给Servlet提供(映射)一个可供客户端访问的URI-->
<servlet-name>TestServlet</servlet-name>
<!--必须和servlet中的name相同-->
<url-pattern>/test</url-pattern>
<!-- servlet的映射路径(访问serclet的名称) -->
</servlet-mapping>
在src文件下新建包 ccc.com.servlet,在里面新建一个类 testServlet;
testServlet类里继承HttpServlet,代码如下:
public class testServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getParameter("id"));
}
}
在index.jsp里面写入以下代码,注意name属性要对应;
<form action="/test" method="get">
<input type="text" name="id">
<input type="submit" value="提交">
</form>
然后我们启动服务器进入浏览器页面
找到Run-> Edit Configurations ->右边找到Deployment
把他改成/
重新启动服务器然后输入框里随便输入字符串点击提交,就可以发现已经在控制台打印出来了;
要设置 servlet 返回数据,可以调用 HttpServletResponse 对象的方法,例如:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应内容类型
response.setContentType("text/html;charset=UTF-8");
// 获取输出流对象
PrintWriter out = response.getWriter();
try {
// 将响应信息输出到客户端浏览器
out.println("<html>");
out.println("<head>");
out.println("<title>成功</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>成功</h1>");
out.println("</body>");
out.println("</html>");
} finally {
// 关闭输出流对象
out.close();
}
}
结果如下:
@WebServlet注解配置
这种方式的话比较简单,只需要添加一个@WebServlet;
@WebServlet(name = "TestServlet",urlPatterns = "/test")
public class testServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
System.out.println(request.getParameter("id"));
}
}
web.xml文件的方式和@WebServlet区别
相比于 web.xml 文件的方式,在使用 @WebServlet 注解时,不再需要手动编写 XML 文件来描述 Servlet 的配置信息,而是通过直接在 Servlet 对应的类上添加注解来完成。这样做的好处是:
- 更加方便:不用像 web.xml 那样繁琐地编写 XML 文件;
- 更加简洁:去除了 XML 中大量的模板式代码和冗余的信息;
- 更加高效:在应用启动时只需扫描注解,而不必解析整个 XML 文件;
- 更加灵活:注解更容易被理解和调整。
虽然使用 @WebServlet 注解能够带来很多好处,但也有局限性,不能用于配置其它组件,并且无法适应更复杂的场景。在实际开发中,要根据需要来选择合适的方式来进行配置。