JSP servlet基础

1.简述什么是servlet???

答:

解析Servlet就是一个实现了特定接口或者父类的java类。

Servlet 是一个 Java程序,是在服务器上(Tomcat容器中)运行以处理客户端请求并做出响应的程序.Servlet的职责就是接收客户端的请求并且对请求作出响应.


03.实现Servlet三种方案:

 01.Servlet接口:5个方法

 init(){

   //初始化

 }

 service(){

    //处理请求

 }

//泥石流摧毁了整个村庄

 destory(){

  //销毁

 }

 getServletConfig(){

   //获取Servlet配置信息

 }

 getServletInfo(){

    //获取Servlet相关信息,例如版本作者等。

 }

 5个方法:  init():初始化,只被执行一次

                Destory():tomcat关闭的时候执行,释放资源,执行一次

                Service():处理客户端请求,并且对客户端请求作出相应

                getServletConfig():获取配置

                getServletInfo():版本等信息


02.实现GenericServlet抽象类

 修改了Servlet类一定要重启服务器,而修改了jsp页面可以不重启

 03.实现HttpServlet抽象类

 service():调度作用

//如果我们自己的Servlet类继承的是HttpServlet抽象类,那么不用重写父类的service(),service()方法只不过是起到一个调度的作用

 doXXX:doPost(HttpServletRequest request,HttpServletResponse response )  doGet()



04.手动实现自己的Servlet

亮点一:

01.Servlet就是运行在服务器端的能够处理客户端请求的一个java类,如果一个

普通类实现了Servlet接口或者是继承自GenericServlet或者继承自HttpServlet,那么该类就变成了一个Servlet

02.如果类实现的是Servlet接口,那么处理请求的就是service()方法

如果类继承的是HttpServlet抽象类, 那么处理请求的是doGet()doPost()方法,这里

service()只是调度的作用。


06.MVC模式的探讨

mvcmodel(模型)view(视图)和 controller(控制器)

 

 

01.所有的请求都归结到控制器(Controller),今天的Servlet充当控制器的角色

  只做解析请求(拆解request的各个属性)并且给出响应(转发确定交给哪一个jsp页面去渲染视图)


servlet如何拿到Session对象并给里面set数据.

解析:request.getSession().setAttribute(name, value)


init()destory()以及service()执行次数问题

重点:servlet中的init()destory()只会被执行一次,客户端每次访问相应的Servlet,都会调用一次service()




一下是servlet类中的方法:

package cn.news.servlet.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.jms.Session;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import cn.news.servlet.entity.news2;
import cn.news.servlet.entity.topic;
import cn.news.servlet.impl.newsdaoimpl;
import cn.news.servlet.impl.topicdaoimpl;
import cn.news.servlet.impl.usersdaoimpl;

public class UserInfoServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	doPost(request, response);

	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//登录界面显示新闻信息
		newsdaoimpl ndi=new newsdaoimpl();
		try {
			List<news2> list=ndi.selectnews();
			request.setAttribute("list", list);		
			request.getRequestDispatcher("/index.jsp").forward(request, response);
		} catch (Exception e) {
			
		}
		//显示新闻类型
		topicdaoimpl tdi=new topicdaoimpl();
		try {
			List<topic> list1=tdi.selecttopic();
			request.setAttribute("list1", list1);			
		} catch (Exception e) {
			
		}
	//登录
		String oop =request.getParameter("action");
		usersdaoimpl udi=new usersdaoimpl();
		String name=request.getParameter("name");
		String pwd=request.getParameter("pwd");
		if(oop!=null)
		{
			
		
			if(oop.equals("login")){				
		
			try {
				
				boolean logins=udi.login(name,pwd);
				if(logins){
					
					request.getSession().setAttribute("name", name);
					request.getRequestDispatcher("newspages/admin.jsp").forward(request, response);
				}else{
					request.getRequestDispatcher("/index.jsp").forward(request, response);
					System.out.println("登录失败");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
			}else if(oop.equals("logout")){
				//注销
				request.getSession().removeAttribute("name");
				request.getRequestDispatcher("/index.jsp").forward(request, response);
			}
		
		}
		else
		{
			request.getRequestDispatcher("/index.jsp").forward(request, response);
		}
	}

}

这是判断登录,传值,注销的在servlet中的代码,其他的还有我们之前学的JAVA OOP的和在.jsp和web.xml中的代码。

关于这章我们主要弄的就是jsp和servletd的连接,进而连接数据库。希望能明白吧,。。。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值