(复习)
1、什么是JavaBean
使用Java语言编写的组件,它能够完成系统的业务逻辑处理。
2、编写JavaBean
是一个Java类,有一个无参数的构造方法,属性通常是私有,提供对私有属性进行操作的getter/setter方法,如果在网络上传输应该实现java.io.Serializable接口。
3、如何在JSP文件中使用JavaBean
创建对象:<jsp:useBean scope="作用范围"/>
对属性赋值:<jsp:setProperty property="属性的名字" [value="具体的值"] [param="表单元素的名字"]/>
获取属性的值:<jsp:getProperty property="属性的名字"/>
调用业务方法:按照调用属性的方式来调用业务方法,当然业务方法要按照属性的格式来写。
4、在Java文件中如何使用JavaBean
LoginBean bean = new LoginBean();
bean.setUsername("sd");
bean.setUserpass("dfd");
bean.ff();
5、JavaBean应该放在什么地方
WEB-INF下面的classes,注意创建包的信息。
(今天的内容)
1、什么是Servlet
Servlet是一个Java Web开发技术,与JSP具有相同的功能。
Servlet是一个Java类。运行在服务器端。
能够接收用户的请求,可以对用户的请求进行处理,能够对用户进行响应。
Servlet和JSP属于Java Web开发技术,有时候称为Web组件。对他们的访问都是通过浏览器。
我们在浏览器中看到的是JSP和Servlet的执行结果。
在JSP出现之前,Java技术解决Web应用的方案就是Servlet。
2、Servlet与JSP的区别?
JSP中主要是HTML(或者XML)标签或者JSP标签,显示信息的。
Servlet是类,纯Java文件。要显示信息必须通过输出语句来输出。
JSP的优势是在于编写界面。
Servlet的优势在于Java代码的处理。
3、访问过程
在地址栏输入网址,或者点击网页上的一个超链,或者点击按钮,发出请求。
服务器端接收这个请求,服务器会把请求信息和响应信息封装成两个对象:HttpServletRequest和HttpServletResponse的对象。
调用JSP或者Servlet,调用的时候会使用上面的对象。
JSP或者Servlet可以通过这两个参数得到相关信息,获取请求信息比较多,
request.getParameter("userid") ---JSP文件使用的Java代码
${param.userid} ---JSP文件中使用表达式语言
request.getParameter("userid") ---Servlet文件使用的Java代码,注意request不是内部对象,参数中的request。
JSP和Servlet调用JavaBean完成处理
然后对用户进行响应
out.print("sss") ——————JSP中Java代码
<%="sss"%> ------------JSP中表达式
${"sss"} ------------JSP中表达式语言(现在尽量使用这个)
SSS ------JSP中直接输出
out.print("sss") ------------Servlet中输出,out不是内部对象,可以通过response(参数)获取out然后使用。
接收信息和调用JavaBean主要是Java代码,对用户响应主要使用JSP代码。最好在第一阶段使用Servlet,第二阶段使用JSP。
4、编写Servlet
package servlets;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// 我们便写的Servlet需要继承HttpServlet
public class HelloServlet extends HttpServlet
{
// 处理get请求方式
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
// 设置页面的编码和文档类型
response.setContentType("text/html;charset=gb2312");
// 得到输出流对象
PrintWriter out = response.getWriter();
// 进行输出
out.print("Hello!");
}
// 处理Post请求方式
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException
{
doGet(request,response);
}
}
5、修改环境变量
在classpath,增加C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar
6、部署
放在WEB-INF/classes下面
7、配置
包括两个方面:Servet声明 和 访问方式的声明
servlet声明:在web.xml中
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>servlets.HelloServlet</servlet-class>
</servlet>
声明访问方式:
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
8、如何访问Servlet
http://127.0.0.1:8080/bookstore/hello
9、Servlet方法
init方法,完成初始化
服务类方法:doGet和doPost
destroy方法,释放资源
10、生命周期
地址栏中输入servlet地址,发送请求
服务器根据请求创建两个对象HttpServletRequest和HttpServletResponse对象
把这两个对象作为参数调用Servlet的服务类方法(doGet或者doPost)
如果Servlet对象不存在的化
先加载这个Servlet类
然后进行实例化,创建对象
之后调用init方法进行初始化
调用doGet或者doPost方法
如果Servlet对象已经存在
直接调用doGet或者doPost方法
执行doGet或者doPost方法,完成这个处理过程,我们自己的代码主要在这个方法中。
执行完之后,对象处于等待状态,等待新的请求。注意:对象并没有销毁。多次访问共享了同一个Servlet。
服务器关闭或者应用卸载的时候,调用destroy方法释放资源。
一般情况下,Servlet不会有成员变量,因为大家共享这个变量。如果要有成员变量,就是大家共享的。
一个典型的例子,把数据库连接对象做成成员变量,可以在初始化方法中创建。
11、Servlet的创建有两种方式
a、第一次访问的时候,加载创建。
b、服务器启动的时候加载。