Servlet程序及Servlet的应用

来源:互联网 发布:驾照考试网络预约平台 编辑:程序博客网 时间:2024/06/07 02:38
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
Servlet的配置:
方式一:
<servlet></servlet>配置类文件
<servlet-mapping></servlet-mapping>配置映射地址

方式二:
使用注解的方式配置Servlet
使用注解WebServlet

Servlet的生命周期:

生命周期的各个阶段:

:实例化和初始化只调用一次,请求处理可以多次
Servlet程序:
继承HTTPServlet类,重写doGet()、doPost()方法
需要在web.xml中配置Servlet
Servlet中可以写HTML标签
实例:
public class HelloServlet extends HttpServlet {//响应get请求@Override//其中req就代表JSP中的request对象,reap就代表response对象protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stub//判断是否能够登录String uname = req.getParameter("uname");String pwd = req.getParameter("pwd");//设置编码格式//resp.setContentType("textml;charset=UTF-8");resp.setCharacterEncoding("UTF-8");//使用PringtWrite打印一个网页PrintWriter pw = resp.getWriter();if("admin".equals(uname)&&"123456".equals(pwd)){//登录成功pw.print("<h1>欢迎您,"+uname+"</h1>");}else {//登录失败pw.print("<span style=\"color:red\">"+"登录失败!"+"</span>");}pw.close();}}
在Servlet中使用中文,用Tomcat运行时可能会有编码异常,解决方法:
编码方式需要修改的地方:
1.Tomcat中的Servlet.xml
2.response.setcontenttype/response.setcharacterencoding
3.项目、类文件、JSP右键properties source必须是utf-8
页面404:
web.xml中的路径前必须有/,整个项目都是404
form action相对路径(先直接访问Servlet页面,如果能访问action)
Servlet中的ServletConfig接口:
在Servlet初始化过程中获取配置信息
一个Servlet只有一个ServletConfig对象
getInitParameter获取初始化参数(获取当前这个Servlet)
ServletConfig就是JSP内置对象config的原类型
配置初始化参数两种方式:
1. web.xml(<init-param>)
2. 注解@WebInitParam(name,value)
ServletConfig接口的常用方法

ServletConfig.java
out.println("  <BODY>");   //获取对应Servlet的配置信息   ServletConfig config = getServletConfig();   //getInitParameter获取初始化参数   String info = config.getInitParameter("info");   out.println("init param info is "+info);   out.println("  </BODY>");
Servlet中的doGet()和doPost()方法
使用doXxx()接收用户请求
doGet():用户使用get方式提交请求时调用
doPost():用户使用post方式提交请求时调用

原创粉丝点击