java servlet学习

来源:互联网 发布:mac系统用windows软件 编辑:程序博客网 时间:2024/05/01 15:18

Servlet:一个应用程序,要想运行它,必须是一个Servlet和Jsp的容器才可以。

URI:相对于服务器的根目录,以/开始

 

ServletAPI主要包含5个包

javax.servlet   servlet类,接口servlet容器之间的契约

javax.servlet.annotation  提供servlet,filter,listen的注解

 

javax.servlet.descriptor 包含web应用程序信息提供编程式访问的类型

javax.servlet.http  httpservlet类,接口servlet容器之间的契约

 

 

javax.servlet包学习

servlet:定义所有Servlet都要实现的方法,即所有的Serclet都要间接或直接的实现它

servletConfig: servlet在servlet容器中初始化的时候,配置信息的对象

servletContext:Servket环境的上下文

ServletRequest:请求信息的Servlet

ServletResponse:响应信息的Servlet

GenericServlet:

RequestDispatcher:

Filter:请求,响应时的过滤器


@WebServlet(name="MyServlet" ,urlPatterns="/my")public class MyServlet implements Servlet {    private transient ServletConfig servletonfig;//销毁servlet@Overridepublic void destroy() {// TODO Auto-generated method stub        System.out.println("servlet销毁");}    //Servlet配置信息@Overridepublic ServletConfig getServletConfig() {// TODO Auto-generated method stubreturn servletonfig;}   //Servlet详细详细@Overridepublic String getServletInfo() {// TODO Auto-generated method stubreturn null;}    //Servlet初始化,只在第一次请求时调用,后续不调用@Overridepublic void init(ServletConfig arg0) throws ServletException {// TODO Auto-generated method stub      this.servletonfig=arg0;      System.out.println("servlet初始化");}    //每次请求都会调用@Overridepublic void service(ServletRequest arg0, ServletResponse arg1)throws ServletException, IOException {// TODO Auto-generated method stub       System.out.println("servlet被访问");       arg1.getWriter().write("访问成功");}}

Servlet中部署的两种方法:

第一:使用@WebServlet注解

第二种:使用部署描述符:web.xml文件

public class SimpleServlet extends HttpServlet {/** *  */private static final long serialVersionUID = 8946L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stub//注意:调用父类的doGet会有问题,super.doGet(req, resp);System.out.println(req.getMethod());//resp.setContentType("text/html");PrintWriter pw=resp.getWriter();pw.write("ccacasc");}}

部署描述符web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  <servlet>  <servlet-name>SimpleServlet</servlet-name>  <servlet-class>studyservlet.SimpleServlet</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>SimpleServlet</servlet-name>  <url-pattern>/simple</url-pattern>  </servlet-mapping></web-app>

session管理学习

浏览器客户端和服务器之间传输数据的方式

protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stub        //创建cookie/*Cookie cookie = new Cookie("language", "Italian");cookie.setMaxAge(60*2);//把cookie添加到response中resp.addCookie(cookie);*///删除cookie,方式是创建一个新的cookie,maxAge设置为0  /*Cookie cookie = new Cookie("language", "Italian");cookie.setMaxAge(0);//把cookie添加到response中resp.addCookie(cookie);*/    PrintWriter pw=resp.getWriter();   pw.write("ccacasc");}



0 0
原创粉丝点击