文字游戏做的最好的网站,网页图片尺寸,网站开发都有哪些,南宁网站建设公司如何为老板打造网站赚钱的目录
一、什么是Servlet
二、Servlet原理
Servlet的生命周期
三、 Servlet注释 WebServlet 一、什么是Servlet Servlet是JavaWeb开发的一种技术#xff0c;Servlet程序需要部署在Servlet容器#xff08;服务端#xff09;中才能运行#xff0c;常见的Servlet容器有Tom…目录
一、什么是Servlet
二、Servlet原理
Servlet的生命周期
三、 Servlet注释 WebServlet 一、什么是Servlet Servlet是JavaWeb开发的一种技术Servlet程序需要部署在Servlet容器服务端中才能运行常见的Servlet容器有TomcatJetty等。 其主要功能在于交互式地浏览和修改数据生成动态Web内容。这个过程包括以下4个阶段。 (1)、Client向Server发送请求。 (2)、Server将请求信息发送至Servlet。 (3)、Servlet根据请求信息生成响应内容(包括静态或动态内容并将其传给Server。 (4)、Server将响应返回给Client。 二、Servlet原理 从UML类图中我们可以看出Servlet是一个接口定义了init初始化、service响应服务、destroy销毁等方法而GennericServlet作为抽象类实现了Servlet接口而HttpServlet抽象类继承了GennericServlet类同时定义了doGet方法doPost方法来完成相应的Http处理。 其中还可以发现HttpServletRequest和HttpServletResponse是接口其具体的实现类是web服务器tomcat的两个类。也就是说Servlet必须运行在Servlet容器里 Servlet的生命周期 1.初始化init()仅在第一次加载Servlet时被调用。 2.执行服务调用service()方法响应客户请求。 3.销毁调用destory()杀掉Servlet对象。 三、 Servlet注释 我们平时使用部署描述符web.xml文件将应用程序部署到Web服务器中。tomcat7以上版本、Servlet API 3.0引入了一个名为javax.servlet.annotation的新程序包。它提供了可用于对Servlet类进行注释的注释类型。如果使用批注则不需要部署描述符web.xml。 WebServlet
属性用处String nameServlet的名称urlPatterms过滤器的URL格式数组支持使用通配符valueURL格式数组 使用value或urlPatterns属性中必须声明至少一个URL模式 但不能两者都声明两者不能同时存在。 实例 编写了一个带有注释的servleturl格式为/Login它会匹配的请求路径为/Time/Login其中Time为Web项目名。 package com.example.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.example.utils.JDBCUtils;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;WebServlet(name LoginServlet,urlPatterns /Login)
public class LoginServlet extends HttpServlet {Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理客户端的post请求 response.setContentType(text/html;charsetutf-8); request.setCharacterEncoding(utf-8);response.setCharacterEncoding(utf-8);//解决乱码问题设置内容都为utf-8格式PrintWriter out response.getWriter();String username request.getParameter(name);String password request.getParameter(secret);HttpSession sessionrequest.getSession();//创建一个会话对象JDBCUtils.registerDriver();Connection connectionJDBCUtils.getConnection();PreparedStatement pStatementnull;try {ResultSet resultSetJDBCUtils.checkExit(username, pStatement, connection);if(resultSet.next()){if(!password.equals(resultSet.getString(password))){out.write(script languagejavascriptalert(密码错误请重新输入);window.location.href/Todoproject/login.html/script);}else{session.setAttribute(username, username);out.write(script languagejavascriptalert(登录成功);window.location.href/Todoproject/menu.html/script);}}else{//如果没有找到out.write(script languagejavascriptalert(该用户不存在);window.location.href/Todoproject/login.html/script);}} catch (SQLException e) {e.printStackTrace();out.write(script languagejavascriptalert(系统发生错误);window.location.href/Todoproject/login.html/script);}finally{JDBCUtils.closeConnection(connection);}}
} 以下为表单发起的请求 form methodpost action/Time/Login idLogin onsubmitreturn checklogin()用户名input typetext placeholder 账号 namename idnamebrbr密码emsp;input typepassword placeholder 密码 namesecret idsecretbutton idsubmit typesubmit 登录/buttonbutton idregister typebutton onclickwindow.open(register.html) 注册 /button
/form