浏览器无法直接访问src里面的东西,需要进行间接的配置进行访问。
一:web.xml的映射方式
浏览器访问:http://localhost:8080/test/demo没有反应,但是控制台输出
为什么url是http://localhost:8080/test/demo,而不是http://localhost:8080/demo呢?
因为当时自己配置的url的初始路径是方框标记出来的。
也就是当你访问初始url的时候,会访问index.jsp里面的文件。
MyServlet
扫描二维码关注公众号,回复:
11287306 查看本文章
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