9/13/2017 9:43:59 PM @author Jzedy
前言
使用maven创建项目,方便添加jar包,同时记录下使用idea时踩的坑
jar包引用
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
maven插件包引用是因为idea默认使用maven时采用JDK5.0,引用插件包后根据需要使用jdk版本
。踩坑点–idea创建maven web项目时引用jar包时候需要到Project Structure中的Artifacts界面下的Available Elements双击引用的jar包,不然jar包没有引用上导致报错,以为pox.xml没有错误就jar包已经引用了,导致花很长时间排错。。。。
servlet生命周期
- init:第一次访问时候初始化
- service:每次访问时候都会调用service
- destroy:结束时候调用
servlet配置
在web.xml中如下配置
<servlet> <servlet-name></servlet-name> <servlet-class></servlet-class> </servlet> <servlet-mapping> <servlet-name></servlet-name> <url-pattern></url-pattern> </servlet-mapping>
使用注解配置
@WebServlet(“/login”) 在继承HttpServlet的类上面使用WebServlet注解
Cookie
使用:
- 创建cookie
- 设置cookie有效时间
- 发送到浏览器
Cookie cookie = new Cookie("username", "jzedy");//名称,值
cookie.setMaxAge(10*60);//正数以秒为单位,零表示销毁,负数表示直到浏览器关闭
resp.addCookie(cookie);
Session
- 访问与单前请求相关联的会话对象
request.getSession([boolean])
当默认boolean为true,代表没有时创建新的session,false表示没有时返回null - 查找session中的信息 session.getAttribute
- 存储会话中的信息 session.setAttribute
- 结束session 调用removeAttribute废弃指定的值,调用invalidate废弃整个会话。
requestDispatcher(转发)/redirect(重定向)
调用方法:
request.getRequestDispatcher().forward()
response.sendRedirect()
requestDispatcher是在服务器端运行,redirect是通过客户浏览器发送命令完成,所以redirect对浏览器是“透明的”,而requestDispatcher不是
requestDispatcher地址栏信息不变,redirect地址栏将改变