Day30 Servlet二

Servlet生命周期

servlet第一次请求时被创建对象
生命周期的第一阶段:init方法初始化方法。只执行一次,并且必须执行完成后才能执行其他方法
生命周期的第二阶段:调用service方法,service通过请求行获取请求方式:通过判断之后,调用doGet
doPost;覆盖doPost或者doGet方法。功能:获取请求参数,调用业务层-调用dao方法,响应页面
生命周期的第三阶段:web应用卸载,服务器关闭,servlet被销毁,destroy()

多线程

一个Servlet对象,多线程的处理模式

多线程的线程安全变量

一个线程改变变量的值,其他线程使用时是改变后的值,这种变量叫线程不安全的变量
线程安全的变量是指,自己使用的变量,一般定义到doGet方法或doPost方法中

ServletConfig

表示封装当前Servlet的初始化参数
配置文件配置初始化参数 web.xml

<servlet>
  	<servlet-class>tedu.LifeServlet</servlet-class>
  	<servlet-name>driverName</servlet-name>
  	<init-param>
  		<param-name>driverClassName</param-name>
  		<param-value>com.mysql.jdbc.Driver</param-value>
  	</init-param>
  </servlet>

获取初始化参数的值得方法
this.getServletConfig().getInitParameter(“driverClassName”);

ServletContext

表示web应用上下文对象
有且只有一个
生命周期:和web应用一样

<%	
	//登陆一次记一次
	Integer count=(Integer)application.getAttribute("count");
	//第一次为空,设置为1
	if(count==null){
		count=1;
	}else{
		count++;
	}
	application.setAttribute("count", count);
	out.print(count);
%>

一个Servlet处理多个请求

1.客户端定义一个参数传值
2.服务器端通话获取参数值,通过值调用不同的方法输出不同的内容

<script type="text/javascript">
	function fun1(action){
		//表示按钮事件,提交的处理成学
		location='UserServlet?method='+action;
	}
</script>
</head>
<body>
<input type="button" value="add" onclick="fun1('add');">注册<br>
<input type="button" value="update" onclick="fun1('update');">修改个人信息<br>
<input type="button" value="delete" onclick="fun1('delete');">删除<br>
<input type="button" value="select" onclick="fun1('select');">查询<br>
</body>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String action=request.getParameter("method");
		
			try {
				if(action.equals("add")){
				register(request,response);
				}else if(action.equals("update")){
					updateUser(request,response);
				}else if(action.equals("delete")){
					removeUser(request,response);
				}else if(action.equals("select")){
					findAllUser(request,response);
				}
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		
	}
	//注册
	protected void register(HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.getWriter().print("register");
	}
	//更改用户信息
	protected void updateUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.getWriter().print("updateUser");
	}
	//删除用户信息
	protected void removeUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.getWriter().print("removeUser");
	}
	//查询用户信息
	protected void findAllUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
		response.getWriter().print("findAllUser");
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值