Servlet
2018-04-23 本文已影响0人
随心者随心行
Servlet简介
- 什么是Servlet
Servelt是运行在服务端的Java小程序。
servlet规范:包含三个技术点
- servlet技术
- filter技术 -过滤器
- listener 技术 - 监听器
- Servlet快速入门
实现步骤:
- 创建类实现Servlet接口
- 覆盖尚未实现的方法
- 在web.xml进行servlet的配置
在实际开发中,我们不会直接去实现Servlet接口,因为那样需要覆盖的方法太多。一般是创建类继承HttpServlet.
实现步骤:
- 创建类继承HttpServlet类
- 覆盖doget 和dopost
- 在web.xml中进行servlet的配置
Servlet 的API(生命周期)
Servlet接口中的方法
- init : 在 servlet 对象创建的时候执行
- service : 每次请求都会执行
- destroy: servlet 销毁时候执行
Service 的声明周期
- Servlet创建:默认第一次访问servlet时创建该对象
- 何时销毁: 服务器关闭了就销毁了
- 每次访问必然执行的方法: service
利用Servlet完成登录操作
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.获得用户名和密码
String username = request.getParameter("username");
String password = request.getParameter("password");
//2.从数据库验证该用户名和密码是否正确
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
String sql = "select * from user where username=? and password=?";
User user = null;
try {
user = runner.query(sql, new BeanHandler<User>(User.class), username, password);
} catch (SQLException e) {
e.printStackTrace();
}
//3.根据返回结果给用户不同显示信息
if (user != null) {
//登录成功
response.getWriter().write("Yes,Login Success" + user.toString());
} else {
//登录失败
response.getWriter().write("sorry,Login fail");
}
}
ServletContext对象
1.什么是ServletContext对象
servletContext代表是一个web应用的环境 上下文对象。ServletContext对象内部封装是该web 应用的信息 Servlet对象一个web应用只有一个对象。
ServletContext对象的声明周期
在web应用被加载的时候创建。在web应用卸载的时候 销毁
- 怎样获得ServletContext对象
ServletContext context = getServletContext();
3.ServletContext 作用
-
获得初始化参数
-
获得web应用中任何资源的绝对路径
String path = context.getRealPath(相对于该web应用的一个相对地址)
- ServletContext 是一个域对象
域对象时:存储数据的区域就是域对象
ServletContext域对象的作用范围:整个web应用
实现servlet之间的通信
存对象:context.setAttribute(" " , " ");
取对象: String attribute = (String) this. getServletContext().getAttribute(" ");
我是一个自学Android和JavaWeb的菜鸟。如果可以Flower一下我的GitHub。感激不尽
https://github.com/FoxconnPeter