当前位置: 首页 > news >正文

网站开发自学资料上海网站建设领导品牌

网站开发自学资料,上海网站建设领导品牌,个体户注册,微信商城是正规的吗今日内容 零、 复习昨日 一、Servlet 零、 复习昨日 一、Servlet 1.1 Servlet介绍 javaweb开发,就是需要服务器接收前端发送的请求,以及请求中的数据,经过处理(jdbc操作),然后向浏览器做出响应. 我们要想在服务器中写java代码来接收请求,做出响应,我们的java代码就得遵循tomca…今日内容 零、 复习昨日 一、Servlet 零、 复习昨日 一、Servlet 1.1 Servlet介绍 javaweb开发,就是需要服务器接收前端发送的请求,以及请求中的数据,经过处理(jdbc操作),然后向浏览器做出响应. 我们要想在服务器中写java代码来接收请求,做出响应,我们的java代码就得遵循tomcat开发规范 因此Tomcat提供了开发的规范,就是servlet. Servlet就是运行在服务器上的程序,可交互式的接收服务器的请求,并可以做出响应 总结Servlet的作用: 运行在服务器,是一个服务器端的程序接收客户端请求,向客户端做出响应动态网页(jsp) 1.2 HTTP Servlet主要做的事情:接收请求,做出响应 接收请求 请求是什么? 浏览器通过网络发出的一些请求资源动作哪里发出的请求? a标签href路径,form表单action路径请求都有什么东西可以接收?数据,协议,端口,ip等等 做出响应 什么是响应? 响应什么东西?服务器返回给浏览器的内容(html页面,json数据等等)响应给谁? 前端(浏览器) 1.2.1 在http请求中有请求报文 通过浏览器的开发者工具(F12)监听任何一个网站的请求响应过程,就可以看到请求报文和响应报文 请求行内有请求方式(GET),和请求路径(/s?wdjava) ps: 后续就可以通过servlet获得这些数据 1.2.2 在http响应中有响应报文 响应行中有协议(http/1.1) ,响应状态码(200) ,响应信息(OK) 1.3 GET和POST HTTP中常见的请求方式 getpost 1.3.1 GET GET请求特点: 数据会通过浏览器地址栏发送数据量大小有限制,最多4kb请求数据不安全效率相对较高 什么时候用GET请求? 一般用于查询数据 前端技术中,如何发送一个get请求? form表单指定methodgeta标签地址栏手动输入 1.3.2 POST POST请求 数据是隐藏的,在地址栏看不见,但是是在请求体中数据量大小不限数据相对安全效率相对较低 开发中建议,使用POST向服务器发送数据,登录,注册,更新,上传文件等 前端技术中,如何发送一个POST请求? form表单的methodpostajax 二、第一个Servlet程序[重点] 2.1 创建web项目 手动补全目录结构 2.2 pom依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.qf/groupIdartifactIdday46_servlet/artifactIdversion1.0-SNAPSHOT/version!-- java项目打包方式是jar包 --!-- web项目打包方式是war包 --packagingwar/packagingpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.target/propertiesdependencies!-- 引入servlet依赖 --dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/version/dependency!-- 引入jsp依赖 --dependencygroupIdjavax.servlet.jsp/groupIdartifactIdjavax.servlet.jsp-api/artifactIdversion2.3.1/version/dependency/dependencies /project2.3 编写Servlet 继承javax.servlet.HttpServlet类重写方法 浏览器发出get请求,那么就重写doGet方法处理get请求浏览器发出post请求,那么就重写doPost方法处理post请求 在核心方法doGet/doPost里面完成接收请求,做出响应 package com.qf.servlet;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter;/*** --- 天道酬勤 ---** author QiuShiju* desc*/ public class MyServlet extends HttpServlet {// - 浏览器发出get请求,那么就重写doGet方法处理get请求Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 中文可能乱码,暂时不解决System.out.println(接收请求 - receive request );String method req.getMethod( ); // 获得请求方法System.out.println(method );// 通过响应获得输出流,向浏览器响应内容// 其实通过流写出内容PrintWriter out resp.getWriter( );out.write(hello servlet);}// - 浏览器发出post请求,那么就重写doPost方法处理post请求Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {} }2.4 配置Servlet 因为服务器中会有很多servlet,浏览器发请求如何确定访问哪一个servlet类? 此时就需要做一个映射: 请求路径和servlet类的映射,即发出的请求由哪个servlet类来处理 配置需要写在webapp/WEB-INF/web.xml中 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd version3.1!-- 在这里写路径和servlet映射 --servlet!-- servlet的名字,任意 --servlet-nameservlet1/servlet-name!-- servlet的路径 --servlet-classcom.qf.servlet.MyServlet1/servlet-class/servlet!-- 请求路径映射 --servlet-mapping!-- 该路径映射的servlet名 --servlet-nameservlet1/servlet-name!-- 请求路径的模板,一定要/开头 --url-pattern/s1/url-pattern/servlet-mapping /web-app浏览器发出请求,经过web.xml中配置的信息, 匹配url-pattern/s1/url-pattern,有该路径则正常访问,无该路径报404通过servlet-name找到servlet类再通过servlet-class,找到servlet类路径该servlet就可以执行doGet/doPost 2.5 部署项目 web项目已经开发完毕,将项目部署到服务器Tomcat 配置Tomcat 部署项目 2.6 启动 启动项目 2.7 访问 发出http请求进行访问 http://localhost:8080/day46/s1 2.8 解决控制台中文乱码 -Dfile.encodingutf-8 2.9 解决JSP页面乱码 JSP页面头部加入如下代码即可 % page contentTypetext/html;charsetUTF-8 languagejava%三、 执行流程分析【理解】 启动服务器 立即加载解析web.xml文件 1)服务器内就会知道当前服务器能接收哪些请求路径 2)也知道请求路径被哪个servlet处理 3)如果web.xml中有错,启动会失败,要及时查看控制台日志 4)常见的错误就是url-partten写错了 启动成功,跳转至index.jsp页面(如果没有该页面,报错404) 浏览器发出请求 1)发出请求路径,根据ip找到服务器,再根据8080找到服务器中的程序 http://localhost:8080 2)然后再通过名字找到服务器中的项目,默认访问首页(index.jsp),找不到报错404 http://localhost:8080/day29 3)然后发出具体的请求路径 http://localhost:8080/day29/a 发出的请求会经过web.xml中配置的路径去匹配 1)web.xml中没有匹配到路径,报错404 2)web.xml中有匹配的路径,就找对应的servlet让其执行 servlet执行doGet或者doPost方法,完成接收请求,和做出响应的动作 如果后台出问题,主要是指java代码报错,页面会报错500 四、使用细节 4.1 web.xml中url-partten写错 !-- 请求路径映射 --servlet-mapping!-- 该路径映射的servlet名 --servlet-nameservlet1/servlet-name!-- 请求路径的模板,一定要/开头 --!-- 没有/开头,启动报错 --url-patterns1/url-pattern/servlet-mappingCaused by: java.lang.IllegalArgumentException: Invalid url-pattern s1 in servlet mapping4.2 首页问题 项目启动,默认访问webapp/index.jsp页面 没有该页面,启动报404 也可以通过web.xml文件来修改默认启动访问页面 ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd version3.1!-- 设置欢迎页 --welcome-file-listwelcome-filelogin.html/welcome-file/welcome-file-list!-- ... -- /web-app4.3 访问路径问题[重点] 现在的访问路径是 http://localhost:8080/day29/ 这个访问路径,是在配置Tomcat时给设置的 再访问就是http://localhost:8080/java2217 因为发请求时容易丢失项目名,索性在设置时直接不设置项目名 ps %--a标签,form等前端路径以/开头发请求的话,会从浏览器根路径,即从端口出发去请求,如果有项目名的话,就会丢失项目名----------所以,建议在部署项目时,直接不要项目名 --% a href/a/a-发/a请求/abr4.4 修改端口 启动项目时,idea报错 提示端口占用 作业 1 整个创建-配置-部署-启动servlet过程 2 理解执行流程 3 画出javaweb开发图 4 前端如何发送请求? 浏览器a标签,form表单,手动地址栏输入路径回车 5 前端的请求方法有哪些? get,post地址栏手动输入 - geta标签是 getform指定methodget|post 6 后台有哪些处理不同请求方式的方法?doGetdoPost 7 前端请求通过什么和后台服务器servlet关联?web.xml配置映射路径,后期使用注解idea设置、IDEAMaven-jdk版本 修改idea中java版本 Maven-POM文件中设置编译版本 buildplugins!-- 编码和编译和JDK版本 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationsource1.8/sourcetarget1.8/target/configuration/plugin/plugins/buildtEb98idl-1700474261978)] [外链图片转存中…(img-HvI47xQw-1700474261979)] [外链图片转存中…(img-XcK17s2I-1700474261979)] Maven-POM文件中设置编译版本 buildplugins!-- 编码和编译和JDK版本 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationsource1.8/sourcetarget1.8/target/configuration/plugin/plugins/build
http://www.sadfv.cn/news/111365/

相关文章:

  • 相册管理网站模板下载新闻 近期大事件
  • 酒吧dj做歌网站wordpress标签没反应
  • 网站建设平台资讯建设网站的建设费用包括什么
  • 网站备注销新余门户网站建设
  • 自助外贸英文网站建设wordpress表单编辑插件下载
  • 可以在线制作简历的网站vancl凡客诚品官网
  • 福清网站商城建设soho 网站建设
  • 自助网站建设哪家优惠成都网站建设与网站推广培训
  • 贵阳建设厅网站怎么塔建网站
  • 响应式网站 app网站模板全屏
  • 单项否决 网站建设网上自学平台
  • 网站建设与网页设计张家港普通网站建设
  • 易营宝智能建站手机网站建设服务合同
  • 网站用品网店进货渠道中山网站建设技术
  • 推广联盟网站怎么做wordpress 安卓主题下载
  • 新河seo怎么做整站排名完整网页开发
  • 南宁网站建设活动网页搜索框记录怎么删除
  • 深圳网站建设黄浦网络 骗子wordpress本地卡
  • 网站建设天地心wordpress 轻论坛
  • 朝阳网站建设公司群晖wordpress固定链接404
  • 网站维护优化南京产品设计公司
  • 网络舆情分析论文seo范畴
  • 深南花园裙楼+网站建设挣钱最快的小游戏
  • html做旅游网站专业内涵建设8个方面
  • 广州建设高端网站wordpress火车头免登录发布
  • 做淘宝客网站需要做后台吗网站建设百家号
  • 在线编程的网站企业网站怎么建设公司
  • 学习网站开发多少钱wordpress网页编辑
  • 网站开发实战作业答案wordpress悬浮播放器
  • 网站建设费记什么科目百度竞价推广代理商