wordpress适用于任何网站吗,门户型网站都有哪些,面点培训学校哪里有,麓谷做网站的公司1. Servlet
一、Servlet介绍
1、概念
Servlet#xff08;Server Applet#xff09;是Java Servlet的简称#xff0c;称为小服务程序或服务连接器#xff0c;用Java编写的服务器端程序#xff0c;具有独立于平台和协议的特性#xff0c;主要功能在于交互式地浏览和生成… 1. Servlet
一、Servlet介绍
1、概念
ServletServer Applet是Java Servlet的简称称为小服务程序或服务连接器用Java编写的服务器端程序具有独立于平台和协议的特性主要功能在于交互式地浏览和生成数据生成动态Web内容。
2、实现过程
1.客户端发送请求至服务器端
2.服务器将请求信息发送至 Servlet
3.Servlet 生成响应内容并将其传给服务器。响应内容动态生成通常取决于客户端的请求
4.服务器将响应返回给客户端。
3、生命周期
1.客户端请求该 Servlet
2.加载 Servlet 类到内存
3.实例化并调用init()方法初始化该 Servlet
4.service()根据请求方法不同调用doGet() 或者 doPost()此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
二、Request对象获取请求信息
2.1获取相应消息数据 2.2 获取请求参数
String getParameter(String name):根据参数名称获取参数值
String[] getParameterValues(String name):根据参数名称获取参数值的数组
EnumerationString getParameterNames():获取所有请求的参数名称MapString,String[] getParameterMap():获取所有参数的map集合 2.3请求转发
1. 通过request对象获取请求转发器对象RequestDispatcher getRequestDispatcher(String path)
2. 使用RequestDispatcher对象来进行转发forward(ServletRequest request, ServletResponse response)
2.4 共享数据
void setAttribute(String name,Object obj):存储数据Object getAttitude(String name):通过键获取值void removeAttribute(String name):通过键移除键值对 post乱码解决 在获取参数前设置request的编码request.setCharacterEncoding(utf-8); 三、Response对象设置响应消息
3.1 设置响应消息 3.2 重定向
方法response.sendRedirect(路径);
特点1. 地址栏发生变化
2. 重定向可以访问其他站点(服务器)的资源
3. 重定向是两次请求。不能使用request对象来共享数据
重定向与转发的区别
forward一般用于用户登陆的时候,根据角色转发到相应的模块。
redirect一般用于用户注销登陆时返回主页面和跳转到其它的网站等。
四、综合案例
4.1新建项目步骤 4.2 pom.xml
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.beiyou/groupIdartifactIdservlet/artifactIdversion1.0-SNAPSHOT/versionnameservlet/namepackagingwar/packagingpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.target1.8/maven.compiler.targetmaven.compiler.source1.8/maven.compiler.sourcejunit.version5.8.1/junit.version/propertiesdependenciesdependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/versionscopeprovided/scope/dependencydependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion${junit.version}/versionscopetest/scope/dependencydependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-engine/artifactIdversion${junit.version}/versionscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion3.3.2/version/plugin/plugins/build
/project4.3 web.xml
?xml version1.0 encodingUTF-8?
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0servletservlet-nameHelloServlet/servlet-nameservlet-classcom.beiyou.servlet.HelloServlet/servlet-class/servletservlet-mappingservlet-nameHelloServlet/servlet-nameurl-pattern/hello-servlet/url-pattern/servlet-mapping
/web-app 4.4 HelloServlet.java
package com.beiyou.servlet;import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;//WebServlet(name helloServlet, value /hello-servlet)
public class HelloServlet extends HttpServlet {private String message;public void init() {message Hello World!;}public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {//response.setContentType(text/html);response.setHeader(Content-Type,text/html;charsetUTF-8);PrintWriter out response.getWriter();out.println(htmlbody);out.println(h1 Servlet 你好这是您要的麻婆豆腐 /h1);out.println(/body/html);}public void destroy() {}
} 4.5 乱码-解决 中文乱码 解决ide控制台乱码 五、使用注解
WebServlet(name helloServlet, value /hello-servlet)
1.1 使用JSP页面
1、编写a.jsp页面
% page contentTypetext/html; charsetUTF-8 pageEncodingUTF-8 %!DOCTYPE html
html
headtitleJSP - Hello World/title
/head
body
h1% 潘周聃1写死 %
/h1
hr/
h1%Object value request.getAttribute(name);out.println(value);%
/h1
hr/
h1${requestScope.name}
/h1
hr/
h1id: ${requestScope.user.id}
/h1
h1姓名: ${requestScope.user.name}
/h1/body
/htmlrequest和requestScope的区别_xiangwang2016的博客-CSDN博客_requestscope
EL表达式中param和requestScope的区别在看param和requestScope之前不妨先了解下在java下request的情况1. request对象通常用来接收客户端提交到服务端的数据如在servlet或者action中可以用request.getParameter()的方法获取获取参数内容2. requestScope通常是在servlet或者ac...
https://blog.csdn.net/xiangwang2016/article/details/85119692 2、Servlet传递参数到jsp页面 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {//通过请求作用域对象HttpServletRequest接口添加共享数据request.setAttribute(name,苍老师);//将数据写入请求作用于对象namekey名称MapString,Object map new HashMap();map.put(id,1);map.put(name,潘周聃);request.setAttribute(user,map); //通过请求转发索要a.jsp并写入到响应体中request.getRequestDispatcher(a.jsp).forward(request,response); }body%Object o request.getAttribute(name) ;out.println(o);
%基本类型:${requestScope.name}对象id:${requestScope.user.id}对象name:${requestScope.user.name}
/body1.2 使用模板引擎
1.引入模板库 dependencygroupIdjavax.servlet/groupIdartifactIdjstl/artifactIdversion1.2/versionscopecompile/scope/dependencydependencygroupIdorg.apache.taglibs/groupIdartifactIdtaglibs-standard-impl/artifactIdversion1.2.5/version/dependency2. servlet 传递集合
public class User {private int id;private String name;
}request.setAttribute(userLst,userLst);request.getRequestDispatcher(template.jsp).forward(request,response);3. 页面头加上渲染方式
% taglib urihttp://java.sun.com/jsp/jstl/core prefixc %h1使用模板引擎/h1tablec:forEach items${requestScope.userLst} varusertrtd${user.id }/tdtd${user.name }/td/tr/c:forEach
/table1.3 使用Post接受表单请求
1.书写表单
form methodpost actionainput typetext nameid placeholder请输入名 input typetext namename placeholder请输入姓 input typesubmit value提交
/form2.书写doPost Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//处理表单数据req.setCharacterEncoding(UTF-8);String id req.getParameter(id);String name req.getParameter(name);//构造一个响应页resp.setHeader(Content-Type,text/html;charsetutf-8);//一旦调用getWriter方法此时header的内容就不能更改Writer writer resp.getWriter();writer.write(html);writer.write(id: id);writer.write(br/);writer.write(name: name);writer.write(/html);}3.Post传输Json数据
3.1 引入fastjson包 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.28/version/dependency3.2 form表单提交 urlhttp://localhost:8080/demo/bBody{id:5,name:zhouxingxing}3.3 书写doPost方法 Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//读取request body 数据ServletInputStream inputStream request.getInputStream();InputStreamReader inputStreamReader new InputStreamReader(inputStream, utf-8);BufferedReader bufferedReader new BufferedReader(inputStreamReader);String jsonStr ;String line;while ((line bufferedReader.readLine()) ! null){jsonStr line;}// 转成对象JSONObject jsonObject JSONObject.parseObject(jsonStr);JSONObject jsonObject2 new JSONObject();//正常成功时候返回的格式jsonObject2.put(code,0);jsonObject2.put(data,jsonObject);jsonObject2.put(message,请求成功);//失败的时候返回的格式// jsonObject2.put(code,1);// jsonObject2.put(data,null);// jsonObject2.put(message,连接数据库失败);response.setCharacterEncoding(utf-8);response.setContentType(application/json);response.getWriter().write(String.valueOf(jsonObject2));// PrintWriter writer response.getWriter();
// writer.println(html);
// writer.println(body);
// writer.println(id - jsonObject.getString(id));
// writer.println(br/);
// writer.println(name - jsonObject.getString(name));
// writer.println(/body);
// writer.println(/html);}成功 失败 文章转载自: http://www.morning.drzkk.cn.gov.cn.drzkk.cn http://www.morning.fgxr.cn.gov.cn.fgxr.cn http://www.morning.flqkp.cn.gov.cn.flqkp.cn http://www.morning.jrsgs.cn.gov.cn.jrsgs.cn http://www.morning.mfmrg.cn.gov.cn.mfmrg.cn http://www.morning.lbssg.cn.gov.cn.lbssg.cn http://www.morning.ftldl.cn.gov.cn.ftldl.cn http://www.morning.yqlrq.cn.gov.cn.yqlrq.cn http://www.morning.bhqlj.cn.gov.cn.bhqlj.cn http://www.morning.yngtl.cn.gov.cn.yngtl.cn http://www.morning.ddqdl.cn.gov.cn.ddqdl.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.rnrwq.cn.gov.cn.rnrwq.cn http://www.morning.jllnh.cn.gov.cn.jllnh.cn http://www.morning.tsnwf.cn.gov.cn.tsnwf.cn http://www.morning.dzqr.cn.gov.cn.dzqr.cn http://www.morning.wrbnh.cn.gov.cn.wrbnh.cn http://www.morning.hhpkb.cn.gov.cn.hhpkb.cn http://www.morning.rhfbl.cn.gov.cn.rhfbl.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.zqfz.cn.gov.cn.zqfz.cn http://www.morning.zrqs.cn.gov.cn.zrqs.cn http://www.morning.pbzlh.cn.gov.cn.pbzlh.cn http://www.morning.tmtrl.cn.gov.cn.tmtrl.cn http://www.morning.gctgc.cn.gov.cn.gctgc.cn http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn http://www.morning.xqknl.cn.gov.cn.xqknl.cn http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn http://www.morning.yodajy.cn.gov.cn.yodajy.cn http://www.morning.wclxm.cn.gov.cn.wclxm.cn http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn http://www.morning.tgwfn.cn.gov.cn.tgwfn.cn http://www.morning.bcdqf.cn.gov.cn.bcdqf.cn http://www.morning.yesidu.com.gov.cn.yesidu.com http://www.morning.dyhlm.cn.gov.cn.dyhlm.cn http://www.morning.rmlz.cn.gov.cn.rmlz.cn http://www.morning.qytyt.cn.gov.cn.qytyt.cn http://www.morning.wbxrl.cn.gov.cn.wbxrl.cn http://www.morning.mpscg.cn.gov.cn.mpscg.cn http://www.morning.webpapua.com.gov.cn.webpapua.com http://www.morning.qlbmc.cn.gov.cn.qlbmc.cn http://www.morning.qqpg.cn.gov.cn.qqpg.cn http://www.morning.hxbjt.cn.gov.cn.hxbjt.cn http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn http://www.morning.wkjzt.cn.gov.cn.wkjzt.cn http://www.morning.cbczs.cn.gov.cn.cbczs.cn http://www.morning.mymz.cn.gov.cn.mymz.cn http://www.morning.mrckk.cn.gov.cn.mrckk.cn http://www.morning.bpmz.cn.gov.cn.bpmz.cn http://www.morning.ynwdk.cn.gov.cn.ynwdk.cn http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn http://www.morning.nynlf.cn.gov.cn.nynlf.cn http://www.morning.kqpsj.cn.gov.cn.kqpsj.cn http://www.morning.npbgj.cn.gov.cn.npbgj.cn http://www.morning.hqwcd.cn.gov.cn.hqwcd.cn http://www.morning.rckmz.cn.gov.cn.rckmz.cn http://www.morning.qptbn.cn.gov.cn.qptbn.cn http://www.morning.duckgpt.cn.gov.cn.duckgpt.cn http://www.morning.rtbj.cn.gov.cn.rtbj.cn http://www.morning.npgwb.cn.gov.cn.npgwb.cn http://www.morning.fldrg.cn.gov.cn.fldrg.cn http://www.morning.pdbgm.cn.gov.cn.pdbgm.cn http://www.morning.qrdkk.cn.gov.cn.qrdkk.cn http://www.morning.lpskm.cn.gov.cn.lpskm.cn http://www.morning.tymwx.cn.gov.cn.tymwx.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.mdmc.cn.gov.cn.mdmc.cn http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn http://www.morning.dtnzk.cn.gov.cn.dtnzk.cn http://www.morning.sjwzl.cn.gov.cn.sjwzl.cn http://www.morning.rccpl.cn.gov.cn.rccpl.cn http://www.morning.flzqq.cn.gov.cn.flzqq.cn http://www.morning.nlzpj.cn.gov.cn.nlzpj.cn http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn http://www.morning.mrpqg.cn.gov.cn.mrpqg.cn http://www.morning.pmjhm.cn.gov.cn.pmjhm.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn