5-servlet简介
一。servlet
1.是什么:java程序来处理页面请求和响应
2.实现方式:
a。实现Servlet接口
b。继承HttpServlet类
3.步骤:
a.创建一个java程序实现Servlet或者继承HttpServlet类
b.修改web.xml文件
<servlet>
<!-- servlet名字,可以自定义 -->
<servlet-name>firstServlet</servlet-name>
<!-- 要执行的servlet程序的完整类名 -->
<servlet-class>com.servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
<!-- 访问该servlet的url路径。/表示根目录开始 -->
<url-pattern>/first</url-pattern>
</servlet-mapping>
c.访问:http://localhost:8888/hwua_web/first
4.第二种方式:
继承HttpServlet,重写里面的doget和doPost方法
方法中的参数:req对应request resp对应response
session的获取方式:HttpSession session = req.getSession();
5.第三种:继承HttpServlet,重写里面的doget和doPost方法
在类上写一个注解:@WebServlet("/login3")//此注解代替web.xml的配置文件
实例1:实现 Servlet 接口 + web.xml注册
LoginServlet.java
package com.control; import java.io.IOException; import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import com.pojo.UserInfo;
import com.service.IUserInfoService;
import com.service.UserInfoService; public class LoginServlet implements Servlet{
public void destroy() { }
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException { }
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) arg0;
HttpServletResponse res = (HttpServletResponse) arg1;
//获取session
HttpSession session = req.getSession(); req.setCharacterEncoding("utf-8");
String username = req.getParameter("username");
String password = req.getParameter("password");
String isrember = req.getParameter("isremder");
IUserInfoService userSer = new UserInfoService();
UserInfo user = userSer.login(username, password);
if(user!=null){
session.setAttribute("user",user);
//登录成功,将用户名和密码保存到cookie中
if("1".equals(isrember)){//记住用户名
Cookie cookie = new Cookie("username",user.getUser_name());
cookie.setMaxAge(1000*3600*24*7);//设置cookie的有效期
res.addCookie(cookie);//将cookie添加到响应中发送给客户端
}
res.sendRedirect("cookie/success.jsp");
}else{
res.sendRedirect("cookie/login.jsp?error=true");
}
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>javaweb06</display-name>
<servlet>
<servlet-name>loginservlet</servlet-name>
<servlet-class>com.control.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginservlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
实例2:继承HttpServlet类 + web.xml注册
LoginServlet2.java
package com.control; import java.io.IOException; import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; public class LoginServlet2 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//session
HttpSession session = req.getSession();
//application
ServletContext app = getServletContext(); }
}
web.xml文件同上,只不过将
<servlet-class>com.control.LoginServlet</servlet-class> 改为
<servlet-class>com.control.LoginServlet2</servlet-class> 实例3:继承HttpServlet类 + @WebServlet注解注册,不需要在web.xml文件中注册
LoginServlet3.java
package com.control; import java.io.IOException; import javax.servlet.ServletContext;
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; @WebServlet("/login3")//此注解代替web.xml的配置文件
public class LoginServlet3 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//session
HttpSession session = req.getSession();
//application
ServletContext app = getServletContext(); }
}
5-servlet简介的更多相关文章
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- Servlet简介与Servlet和HttpServlet运行的流程
1.Servlet [1] Servlet简介 > Server + let > 意为:运行在服务器端的小程序. > Ser ...
- JavaEE:Servlet简介及ServletConfig、ServletContext
Servlet简介 1.Servlet是sun公司提供的一门用于开发动态web资源的技术*静态web资源:固定数据文件*动态web资源:通过程序动态生成数据文件2.Servlet技术基于Request ...
- Servlet简介及使用
javaweb学习总结(五)——Servlet开发(一) 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口 ...
- servlet简介及生命周期
Servlet 简介 Servlet 是什么? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上 ...
- (一)Servlet简介
相关名词解释 HTML:Hyper Text Markup Language,超文本标记语言 HTTP:Hyper Text Transfer Protocol,超文本传输协议 URL:Uniform ...
- 【Servlet】(1)Servlet简介、Servlet底层原理、Servlet实现方式、Servlet生命周期
一.Servlet简介 1.Servlet定义: Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交 ...
- 1.1(学习笔记)Servlet简介及一个简单的实例
一.Servlet简介 Servlet是使用Java语言编写的服务器端程序,可以生产动态的Web界面. 主要运行在服务器端,Servlet可以方便的处理客户端传来的HTTP请求,并返回一个响应. 二. ...
- Servlet学习笔记【1】--- 背景和基础知识(CGI、Web服务器发展史、Servlet简介、任务、继承结构)
本文主要讲Servlet的基础知识和背景知识. 1 CGI简介 CGI(Common Gateway Interface 公共网关接口)是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是 ...
- 二:Servlet简介
一.Servlet简介 1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是 ...
随机推荐
- 三、HTTP基础路由详解
1.一次请求的完整实现过程 2.基础路由 Route::get($uri,$callback); Route::post($uri,$callback); Route::put($uri,$callb ...
- docker限制容器内存使用上限
记录一个项目开发部署中遇到的一个问题,处理经验总结. 问题: 我们的项目使用的是Angular6 + Spring boot + redis + mycat结构,项目部署在容器里面,项目正式部署以后, ...
- 关于select 文字居向
我们都知道select的文字默认居左,而如果你想改变它,用text-align是不起作用的,因为select没有这个样式 但是它有自己的样式属性 文字靠右对齐:direction: rtl; 而如果要 ...
- vue.js及项目实战[笔记]— 03 vue.js插件
一. vue补充 1. 获取DOM元素 救命稻草,document.querySelector 在template中标示元素`ref = "xxx" 在要获取的时候,this.$r ...
- Android 实现锚点定位
相信做前端的都做过页面锚点定位的功能,通过<a href="#head"> 去设置页面内锚点定位跳转. 本篇文章就使用tablayout.scrollview来实现an ...
- 【爬虫】在Xpath中使用正则
ns = {"re": "http://exslt.org/regular-expressions"} print(html.xpath("//*[r ...
- (后台)SQL Server 代理(已禁用代理 XP) 怎么解决(转)
百度知道搜索的答案: 在SQL Server Management Studio中连接到SQL Server实例后,会显示“SQL Server 代理”节点.如果当前该实例的Agent服务没有启动,“ ...
- Java内存管理 -JVM 垃圾回收
版权声明:本文为博主原创文章,未经博主允许不得转载 一.概述 相比起C和C++的自己回收内存,JAVA要方便得多,因为JVM会为我们自动分配内存以及回收内存. 在之前的JVM 之内存管理 中,我们介绍 ...
- linux下ssh通过公钥登录服务器
经常会通过ssh登录远程服务器,一种是通过密码方式登录,一种是通过公钥登录. 如何设置通过公钥登录服务器 1. 首先生成自己的公钥和私钥 ssh-keygen 命令用来生成公钥和私钥 -t 用来指定密 ...
- MyBatis笔记----MyBatis数据库表格数据修改更新的两种方法:XML与注解
继上 http://www.cnblogs.com/tk55/p/6659285.html http://www.cnblogs.com/tk55/p/6660477.html 注解 将id:8 na ...