getServletConfig,service
servlet信息 建立与客户端连接(工作)
明确
一.servlet是什么?
二.servlet的使用
学习过程:
一.先讲了servlet是什么,然后在servlet的中写道 System.out.println("这是服务器,客户端请求已接收"); 用tomcat建立好连接,访问到local8080目录,然后写道 /index.jsp
建立了另一个test.jsp,在目录中访问 /test.jsp
明白了localhost页面的访问机制与文件夹类似
二.然后尝试访问servlet,将目录输入,然后失败。
利用映射,在web.xml中建立目录映射
1.sevlet 将java文件重命名为abc
2.sevlet-mapping ,将abc与/abc对应起来
此时localhost:8080/abc即可访问到servlet
三.然后在sevlet中进行功能添加
明白 Response为响应,Request为接收
①想在前端做出中文响应:
servletResponse.setContentType("text/html;charset=UTF-8");
servletResponse.getWriter().write("客户端你好,我来了!收到id为"+id);
②接收前端数据
String id= servletRequest.getParameter("id");
映射service中的内容,在web.xml中做
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping>
注解
@WebServlet("/demo1") public class HelloServlet implements Servlet { }
只调⽤⼀次,卸载对象。
在server中干响应的事
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { String id= servletRequest.getParameter("id"); //接收到前端传来的数据 System.out.println("这是服务器,客户端请求已接收"); //后端接收到了 servletResponse.setContentType("text/html;charset=UTF-8"); //用于显示中文 servletResponse.getWriter().write("客户端你好,我来了!收到id为"+id); //前端进行响应 }
反射
public static void main(String[] args) { String str="com.servlet.HelloServlet"; try { //反射 先拿到方法,然后去调一个对象 //正常为 先调对象,再拿方法 Class clazz=Class.forName(str); Constructor constructor=clazz.getConstructor(); //获取构造方法 Object object=constructor.newInstance(); //用这个方法调用一个对象 System.out.println(object); } catch (Exception e) { e.printStackTrace(); }
五.Servlet 的层次结构
public class TestServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write("GET"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write("POST"); } }
server在此例子能够接收前端数据以及做出响应。
此外它还能使jsp传到前端,控制显示页面
以及连接数据库
晚上模拟了一遍,tomcat一直报错,最后发现原因在web.xml那里
忘了把名字前面加上/