JSP servlet基础
来源:互联网 发布:小企业网络解决方案 编辑:程序博客网 时间:2024/05/17 09:25
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模式的探讨
mvc:model(模型),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的连接,进而连接数据库。希望能明白吧,。。。
- 【jsp/servlet】jsp开发基础
- jsp/servlet基础
- JSP、Servlet基础
- Jsp/Servlet基础-一
- JSP/Servlet基础语法
- Jsp/Servlet 基础
- java基础--jsp/servlet
- JavaWeb基础(servlet+jsp)
- jsp&servlet基础知识点
- Jsp、Servlet基础
- JSP servlet基础
- jsp-Servlet基础
- Jsp/Servlet基础-Servlet学习笔记
- Servlet基础(二):Servlet与JSP
- jsp Servlet基础入门学习
- servlet+jsp基础 by cju
- web基础 JSP+servlet相关
- web基础 JSP+servlet相关
- BOOL WINAPI的实际意义
- Generative Adversarial Networks 生成对抗网络的简单理解
- 矩阵、向量求导法则
- Treasure the new start, freshmen!
- React为什么要尽量避免操作DOM
- JSP servlet基础
- EDID使用说明
- 密码
- (转)MySQL大表优化方案
- 矩阵求导解最小二乘问题
- 计算机网络试题(第二发)
- Android 悬浮按钮 FloatingActionButton 和交互提示 SnackBar
- 编程之美
- HDU 2544 最短路( Dijkstra算法 和 Floyd算法)