wordpress如何发布文件夹,seo在线网站诊断推推蛙,外包公司和劳务派遣哪个好一点,瑞安做企业网站找哪家文章目录 一、概念二、Idea搭建javaWeb项目三、Servlet的生命周期四、请求重定向五、请求转发六、jsp基本使用七、JSTL标签库八、Servlet 过滤器 一、概念
定义 运行在服务端的Java应用程序。 作用 处理客户端发送的请求及响应处理的结果。
二、Idea搭建javaWeb项目
javaWe… 文章目录 一、概念二、Idea搭建javaWeb项目三、Servlet的生命周期四、请求重定向五、请求转发六、jsp基本使用七、JSTL标签库八、Servlet 过滤器 一、概念
定义 运行在服务端的Java应用程序。 作用 处理客户端发送的请求及响应处理的结果。
二、Idea搭建javaWeb项目
javaWeb项目新建一个servlet类 /** Copyright (C) Mr.Fu Corp.* All Right Reserved.*/package com.example.comjavaweb;import jakarta.servlet.Servlet;import jakarta.servlet.ServletException;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;/*** author FuShr.2023--5-23* verdion V1.0*/public class DemoServlet extends HttpServlet {public DemoServlet(){System.out.println(DemoServlet类);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(客户端发起了Post请求);}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(客户端发起了Get请求);}} 在web.xml文件中创建映射 ?xml version1.0 encodingUTF-8?web-app xmlnshttps://jakarta.ee/xml/ns/jakartaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttps://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsdversion5.0!--配置Servlet类--servletservlet-nameDemoServlet/servlet-nameservlet-classcom.example.comjavaweb.DemoServlet/servlet-class/servlet!--配置Servlet类映射--servlet-mappingservlet-nameDemoServlet/servlet-nameurl-pattern/demo/url-pattern/servlet-mapping/web-apphtml增加代码 form actiondemo method getinput typesubmit valueget请求/form 使用注解的方式映射 WebServlet(name helloServlet, urlPatterns /hello-servlet)# name:servlet 名称# urlPatterns:servlet 路径三、Servlet的生命周期
生命周期 实例化–初始化[init]–调用分发请求service-- destroy[销毁]
四、请求重定向
概念 地址栏请求超链接重定向之后地址栏内容发生变化。 代码如下 resp.sendRedirect(index.jsp?txt_nametxt_nametxt_pwdtxt_pwd);五、请求转发
从请求到结束只能发生一次请求请求过程中地址栏不发生变化。 代码如下//设置参数req.setAttribute(txt_name,txt_name);req.setAttribute(txt_pwd,txt_pwd); //请求转发req.getRequestDispatcher(index.jsp).forward(req,resp);六、jsp基本使用
JSP实质就一个servlet文件。(jsp-转译java文件)-在编译成.class文件-执行.class文件.jsp的基本结构 代码如下 % page contentTypetext/html; charsetUTF-8 pageEncodingUTF-8 % 页面指令!DOCTYPE htmlhtmlheadtitleHOME/title/headbody/body/html%% --java的小脚本在这里就和在方法里面编写的代码一样%! %声明能够在这个里面定义方法% % 表达式使用前提 必须有依赖jsp-api.jar 示例代码 % page importjava.util.Date %% page contentTypetext/html; charsetUTF-8 pageEncodingUTF-8 %%! public String getTime(){return new Date().toLocaleString();} %!DOCTYPE htmlhtmlheadtitleHOME/title/headbody!--显示登录的账号和密码--h1HOME 页面/h1p用户名% request.getAttribute(txt_name)%/pp密码% request.getAttribute(txt_pwd)%/p/body/html七、JSTL标签库
引入标签库 下载标签库地址 mvnrespository.com 在jsp页面引入标签库 pom.XML dependencygroupIdorg.glassfish.web/groupIdartifactIdjakarta.servlet.jsp.jstl/artifactIdversion2.0.0/version/dependencydependencygroupIdorg.apache.taglibs/groupIdartifactIdtaglibs-standard-spec/artifactIdversion1.2.5/version/dependencydependencygroupIdorg.apache.taglibs/groupIdartifactIdtaglibs-standard-impl/artifactIdversion1.2.5/version/dependency 注意对应tomcat的版本为10.1.16 jdk版本JDK 21 在jsp页面使用标签库 示例代码 //引入jstl标签库% taglib prefixc urihttp://java.sun.com/jsp/jstl/core %tablec:forEach begin1 end10 step1 vari trtd${i}/td/tr/c:forEach/table /html八、Servlet 过滤器
基本语法 # 继承Filter 接口并实现函数package Filter;import jakarta.servlet.*;import jakarta.servlet.annotation.WebFilter; import java.io.IOException;WebFilter(filterName HelloServletFilter,urlPatterns /*)public class HelloServletFilter implements Filter {/*** 过滤器初始化* param filterConfig* throws ServletException*/Overridepublic void init(FilterConfig filterConfig) throws ServletException {Filter.super.init(filterConfig);}/*** servlet 请求过滤* param servletRequest* param servletResponse* param filterChain* throws IOException* throws ServletException*/Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {//将servletRequestservletResponse 对象强转成为Http的请求和响应对象HttpServletRequest httpServletRequest (HttpServletRequest)servletRequest;HttpServletResponse httpServletResponse (HttpServletResponse)servletResponse;//获取请求路径和ip地址、主机名 端口System.out.println(httpServletRequest.getRemoteAddr());System.out.println(httpServletRequest.getRequestURI());System.out.println(httpServletRequest.getRemotePort());System.out.println(httpServletRequest.getRemoteHost());//设置编码格式httpServletRequest.setCharacterEncoding(UTF-8);httpServletResponse.setContentType(text/html;charsetUTF-8); //转发给下一个过滤器或者对应的servlet 响应请求filterChain.doFilter(httpServletRequest,httpServletResponse); }/*** 销毁*/Overridepublic void destroy() {Filter.super.destroy();}}