JavaEE系列——第二章 Servlet基础

Servlet

       是一个Java程序,是在服务器端运行以处理客户端请求并做出响应的程序。

在自己new的类中要做三件事:

1、  接收用户请求,处理用户提交过来的数据

2、  JavaBean来处理逻辑

3、  再用合适的方法显示视图。

 

doGet() :方法用来响应用户提交的GET数据。

doPost():方法用来响应用户提交的POST数据。

doGet()方法和doPost()方法不要混(不要互相调用)。在解决乱码方法。

所有的JSP页面最后都要生成java类。

 

Servlet的生命周期

当客户端发送一个请求,Servlet容器会查找内存中是否存在Servlet实例,如果不存在,就创建一个Servlet实例。如果存在Servlet实例,就直接从内存中取出该实例来响应请求。

实例化

Servlet容器创建Servlet的实例。

初始化

init() :是提供给编程人员使用的。例如:建立JDBC连接、建立其他资源的引用。

服务

srvice():判断用户使用什么方式提交的,GET则转向doGet(),POST则转向doPost()

销毁

destroy() :实现Destroy()方法指明哪些资源可以被系统回收,而不是由destroy()方法进行回收。

 

web.xml文件 是对用户的请求数据进行处理。

Web.xmlWeb项目中的调度员,容器根据在URL中访问的Servletweb.xml文件中进行查找(查找方式:<Servlet-mapping><url-pattern>><servlet-name>><servlet><servlet-name>><servlet-class>),并调用该Servlet以处理用户的请求。

例:

<web-app>

<servlet>

<servlet-name>HelloServlet</servlet-name>  //设定当前Servlet的内部名称

<servlet-class>y2javaee.sg.ch02.HelloServlet</servlet-class>指定对应Servlet内部名相关类

</servlet>

<servlet-mapping>

<servlet-name>HelloServlet</servlet-name> 通过Servlet内部名把URLclass绑定

<url-pattern>HelloServlet</url-pattern>  //用户访问ServletURL

</servlet-mapping>

</web-app>

HttpServletRequest request对象的常用方法

request.getParameter(“param”);  //获取用户提交的表单信息

request.setCharacterEncoding(“GBK”);  //将得到的信息转化为(“gbk”)编码

request.setAttribute(“loginname”,user);  //request作用域内存储数据。

request.getAttribute(“loginname”);  //获取作用域中的keyloginname的数据

request.getRequestDispatcher(url);  //转发将当前的requestresponse转发到新的页面

HttpServletResponse response 对象的常用方法

response.setContentType(“text/html;charset=GBK”); //将相应用户的信息格式设为text格式中的html,编码为gbk

response.sendRedirect(“url”);  //将浏览器重定到指定的资源.

转发

RequestDispatcher dispatcher=request.getRequestDispatcher(url);

dispatcher.forward(request,response);

request.getRequestDispatcher(url);

// 为转发格式,是服务器的动作,客户端的页面没有反映。这个不用写上下文路径

Servlet>JSP

     request.getRequestDispatcher(/ok.jsp);

response.sendRedirect(“url”);

//将客户端的页面重定向到新的页面。这个要写上下文路径。

Servlet>JSP

       response.sendRedirect(“/ restrant/error.jsp”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值