浏览器无法直接访问src里面的东西,需要进行间接的配置进行访问。
一:web.xml的映射方式

浏览器访问:http://localhost:8080/test/demo没有反应,但是控制台输出

为什么url是http://localhost:8080/test/demo,而不是http://localhost:8080/demo呢?

因为当时自己配置的url的初始路径是方框标记出来的。

也就是当你访问初始url的时候,会访问index.jsp里面的文件。
MyServlet
package com.qianle.servlet; import javax.servlet.*; import java.io.IOException; public class MyServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("haha"); } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("servlet is running"); servletResponse.getWriter().write("hello client"); # 给浏览器返回的字符串信息 } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
访问:http://localhost:8080/test/demo

返回中文浏览器乱码问题,返回之前设置文本类型和编码
@Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("servlet is running"); servletResponse.setContentType("text/html;charset=utf-8"); servletResponse.getWriter().write("你好中国"); }
获取查询字符串
@Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { // 获取查询字符串 String id = servletRequest.getParameter("id"); servletResponse.setContentType("text/html;charset=utf-8"); servletResponse.getWriter().write(id); }
访问:http://localhost:8080/test/demo?id=你好中国

二:注解的方式
清空web.xml里面的servlet文件和servlet-mapping
@WebServlet(urlPatterns = "/demo") public class MyServlet implements Servlet {

# TODO
原文:https://www.cnblogs.com/meloncodezhang/p/12984795.html