
JavaWeb
Android_la
Java入门到进阶级别
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
部署SSM项目到阿里云服务器ECS
文章目录一. 问题背景二. 准备资源三. 安装JDK3.1 下载3.2 安装3.3 配置环境变量四. 安装MySQL4.1 下载4.2 解压缩4.3 修改操作系统配置4.4 卸载centos自带的数据库4.5 安装五. 安装Tomcat5.1 下载5.2 安装六. 部署SSM项目七. 开放端口号并配置入站规则7.1 开放端口号7.2 配置入站规则一. 问题背景买了台阿里云服务器,把以前的老ssm项目部署到服务器上。过程中踩了不少坑,现在做些重点笔记二. 准备资源服务器:centos7jdk:1.8原创 2020-12-08 14:28:26 · 504 阅读 · 0 评论 -
Day7_JavaWeb——Servlet的配置文件
一. 储备知识Tomcat服务器处理请求的过程:解析请求报文根据访问路径(如localhost:8080/项目名/a)去查找对应的资源如果找到具体的资源,服务器将资源设置到响应报文中交给浏览器如果找不到具体的资源,服务器根据访问路径名(如/a)去web.xml中匹配对应的url-pattern。然后根据url-pattern所在标签内的servlet-name去查找匹配的servlet...原创 2019-08-13 14:19:43 · 147 阅读 · 0 评论 -
Day9_JavaWeb——EL表达式取出域中复杂的数据
一. 储备知识1.1 取出集合中的数据List(取指定索引位置的元素)${list[index]}1.2 取出域中map指定key的值键没有特殊符号:${map.key}键中有特殊符号:${map['t2-1']}...原创 2019-08-16 10:01:31 · 162 阅读 · 0 评论 -
Day9_JavaWeb——EL11个内置对象
一. 储备知识EL的11大隐含对象,和jsp的不一样1.1 pageContext和jsp的类似,用的不多作用:获取jsp的其他8个隐含对象,如${pageContext.request}应用:拼接url地址1.2~1.5 pageScope、requestScope、sessionScope、applicationScope类型:Map<String, Object>...原创 2019-08-16 10:17:49 · 136 阅读 · 0 评论 -
Day9_JavaWeb——EL的empty运算符
一. 储备知识empty会认为长度为0或为null的元素为空对于map或list或数组:没有元素或=null,那么集合为空字符串:长度为0或=null,那么字符串也为空原创 2019-08-16 10:29:17 · 367 阅读 · 0 评论 -
Day9_JavaWeb——JSTL简介
一. 储备知识JSTL,jsp standard tag lib ,jsp的标签库,将常用的java代码封装成一个个的标签,每个标签都代表了一套java代码。标签库中文名包含的内容core核心标签库包含常见的功能标签(向域中设置属性,获取属性,移除属性,if,if-else,for)function函数标签库包含常见的处理字符串的标签format格式...原创 2019-08-16 10:54:39 · 170 阅读 · 0 评论 -
Day9_JavaWeb——if-choose标签
一. 储备知识JSTL一般结合EL表达式使用1.1 c:if相当于java中的if语句,其中的test,是指定if标签的条件,必须是boolean值1.2 c:choose相当于if-else语句,choose的子语句有多个when和最多一个otherwise,但是对多会执行一个条件包含关系,条件范围小的写在上面。choose标签中只能由when和otherwise的子标签。when和o...原创 2019-08-16 12:41:48 · 464 阅读 · 0 评论 -
Day9_JavaWeb——foreach标签
一. 储备知识遍历数组相当增强forfor(Object item : list){}1.1 遍历一组数默认步进是1,遍历的值包括头和尾begin:遍历的起始值end:遍历的结束值var:如果设置了var的值,标签每次遍历时会自动将正在遍历的索引值存到pageContext域中,属性名就是var的值。每次遍历时设置的index值会替换之前的。遍历完成后标签会将存储的index值移除...原创 2019-08-16 15:39:48 · 1180 阅读 · 0 评论 -
Day7_JavaWeb——eclipse部署动态项目的步骤
一. 储备知识eclipse根据项目名在部署项目文件夹中创建一个文件夹将源码中WebContent中所有内容拷贝到部署项目文件夹中(部署成功后WebContent和项目名合二为一,所以WebContent也叫做项目根目录,访问时WebContent中的内容可以直接被访问)eclipse将src下的java类编译为class文件存放到WEB-INF/classes文件夹中注意:eclip...原创 2019-08-13 09:36:53 · 161 阅读 · 0 评论 -
Day10_JavaWeb——Filter的执行顺序
一. 储备知识我们可以为一个资源配置多个Filter,当配置多个Filter后会有一个执行顺序的问题,实际执行顺序是按照在web.xml文件中servlet-mapping的顺序决定的,如果顺序越靠前越先被调用。结论:多个Filter的执行顺序是根据配置顺序决定的,先配置的优先级高多个Filter在执行时,请求经过几个过滤器,响应时也要经过几个过滤器请求时可以看作是正序执行,响应时是倒...原创 2019-08-18 12:08:57 · 345 阅读 · 0 评论 -
Day10_JavaWeb——session原理
一. 储备知识Session对象可以在一次会话中的Servlet和jsp页面共享数据。Session对象只关心浏览器是否关闭,与服务器是否重启关闭无关。不同浏览器的会话对象不共享。1.1 Session对象的创建时机Session对象的创建时机:第一次调用request.getSession()时创建。jsp页面第一次被访问时Servlet中第一次手动调用request.getSess...原创 2019-08-18 11:56:17 · 185 阅读 · 0 评论 -
Day10_JavaWeb——Filter生命周期
一. 储备知识Filter的生命周期:调用构造器,创建Filter实例,Web服务器启动时即创建Servlet对象的创建时机:(1) 第一次请求到达后会被创建;(2)Web服务器启动即创建,需 要进行特殊配置调动init方法,进行初始化,可以使用FilterConfig进行初始化参数读取调用doFilter方法,进行逻辑过滤处理调用destroy方法,进行销毁操作...原创 2019-08-18 12:04:10 · 180 阅读 · 0 评论 -
Day7_JavaWeb——Servlet简介
原创 2019-08-13 10:03:03 · 166 阅读 · 0 评论 -
Day7_JavaWeb——第一个Servlet
一. 储备知识Servlet由服务器管理创建对象,方法由服务器在特定情况调用。用户什么请求只有服务器知道,服务器可以根据用户的请求方式和不同的情况分别调用特定的方法Servlet的创建步骤:创建Java类并实现Servlet接口实现接口的方法并且在service方法中可以处理用户的请求在项目的web.xml配置Servlet(需要将浏览器的某个请求和当前的Servlet绑定关联。浏览器...原创 2019-08-13 10:34:48 · 157 阅读 · 0 评论 -
Day9_JavaWeb——EL基本表达式
一. 储备知识原创 2019-08-16 09:37:49 · 106 阅读 · 0 评论 -
Day8_JavaWeb——JSP四大域对象
一. 储备知识jsp四大域对象可以在不同的资源之间共享数据域对象都有以下方法,域对象内部维护了一个Map<String, Object>方法作用void setAttribute(String key, Object value)向域中设置属性的方法Object getAttribute(String key)从域中获取属性值的方法void r...原创 2019-08-14 16:58:30 · 130 阅读 · 0 评论 -
Day7_JavaWeb——Servlet生命周期
一. 储备知识Servlet的生命周期是对象的创建到销毁的过程。在一次生命周期的过程服务器管理调用的方法叫做生命周期法,服务器启动成功后servlet对象不会直接创建。生命周期方法:方法名作用构造器用户第一次访问servlet时,服务器会根据全类名调用构造器创建Servlet对象(第一次访问才会被调用)init()构造器调用后立即调用init()方法完成参数初...原创 2019-08-13 14:30:47 · 145 阅读 · 0 评论 -
Day7_JavaWeb——ServletContext、Request、Response的作用
一. 储备知识ServletContext:每个web应用都有自己唯一的一个全局上下文对象。创建:服务器在启动时根据项目的配置文件创建而成(服务器关闭时或移除部署时才会被销毁)代表:整个web项目作用:在整个项目所有资源中共享数据(域对象)、获取文件的真实路径、获取全局初始化参数、根据文件的后缀名获取文件的真实类型Request:创建:服务器创建并传入到doGet中代表:请求报文对...原创 2019-10-13 21:11:08 · 170 阅读 · 0 评论 -
Day7_JavaWeb——请求乱码解决方案
一. 储备知识Get方式提交请求参数封装在报文的请求首行中,可以设置request对象解析请求首行数据的编码格式:在tomcat的server.xml配置文件中8080端口号所在的标签内添加属性URIEncoding=UTF-8解决了整个工作空间所有项目servlet的get请求中文乱码问题Post方式提交请求参数封装在报文的请求体中,需要设置request对象解析请求体数据的编码格式:r...原创 2019-08-13 16:50:04 · 163 阅读 · 0 评论 -
Day7_JavaWeb——响应乱码解决方案
一. 储备知识解决方案:可以给response对象设置响应头(对应设置编码格式)相当于修改了response向响应体写内容的编码、告诉浏览器使用哪种编码解析页面response.setHeader("Content-Type","text/html;charset=UTF-8");//或者response.setContentType("text/html;charset=UTF-...原创 2019-08-13 16:59:12 · 119 阅读 · 0 评论 -
Day8_JavaWeb——相对路径和绝对路径
一. 储备知识由于开发中会使用大量转发,转发可能会造成页面的相对路径失效,开发中不推荐使用相对路径相对路径:开发时,参考的是文件所在位置浏览器访问时,参考的是地址栏url地址绝对路径:以/开始的有基准路径的地址浏览器解析的基准路径:只能到服务器http://主机地址:端口号(解析时浏览器会自动在标签的绝对路径前添加基准路径)。作用在哪些方面?1.html标签内使用的地址,如超...原创 2019-08-14 09:22:10 · 143 阅读 · 0 评论 -
Day8_JavaWeb——base标签+相对路径
一. 储备知识base标签可以给相对路径设置基准路径,相对路径不再参考相对位置,参考base标签的设置将相对路径当作绝对路径来使用,base只能影响相对路径例子:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</titl...原创 2019-08-14 09:32:00 · 320 阅读 · 0 评论 -
Day8_JavaWeb——JSP简介
一. 储备知识JSP页面只能运行在服务器端,支持页面中使用变量和java代码和html页面不一样,第一行多了jsp页面的指令jsp页面中可以直接使用html标签java代码:jsp脚本片段向响应体写入变量的值:jsp表达式jsp页面必须由服务器运行(服务器执行java代码)后将执行的结果封装到响应报文再交给浏览器使用...原创 2019-08-14 09:37:28 · 139 阅读 · 0 评论 -
Day8_JavaWeb——服务器翻译jsp页面的过程
一. 储备知识如下图所示:学习jsp技术就是学习服务器如何将jsp页面中的内容翻译为Servlet文件(Java类)翻译时:html内容作为out.write的字符串参数写到响应体中,顺序和编写顺序是一样的jsp脚本片段的内容会按照编写的顺序拷贝到service方法中jsp表达式的内容会作为out.print的参数写到响应体中最终显示到页面上...原创 2019-08-14 11:05:58 · 218 阅读 · 0 评论 -
Day8_JavaWeb——jsp脚本、jsp表达式和jsp指令
一. 储备知识1.1 jsp脚本片段翻译:按照编写顺序拷贝到service方法中编写:<% %>作用:在service中编写java业务逻辑代码,可通过多个jsp脚本片段结合控制页面内容的显示由于jsp脚本片段翻译后在service方法中使用,所以可以直接使用service方法中的参数request、response<%@ page language="java" c...原创 2019-08-14 11:44:37 · 183 阅读 · 0 评论 -
Day8_JavaWeb——转发动作标签和动态包含标签
一. 储备知识1.1 jsp:forward转发动作标签page属性:转发的页面路径如果转发需要携带参数可以在url地址后拼接,也可以通过jsp:param标签携带参数1.2 jsp:include动态包含标签page属性:指定要引入页面的路径特点:两个jsp页面都会被翻译成java文件,都会被编译为class文件,效率相对要低二. 例子jsp:forward例子:jsp转发动...原创 2019-08-14 14:40:03 · 157 阅读 · 0 评论 -
Day8_JavaWeb——JSP九大隐含对象
一. 储备知识jsp脚本片段和表达式在翻译后都写到service中,所以在脚本片段和表达式内可以直接使用service方法内的几个隐含对象,九大隐含对象如下:对象名类型代表作用pageContextPageContext当前页面的上下文对象(jsp页面特有的对象)、页面域对象在页面中得到一个数据保存到pageContext域中,在页面的下面可以取出来使用;获取其他...原创 2019-08-14 15:00:26 · 146 阅读 · 0 评论 -
Day14_JavaWeb——分页分析+Page类创建
一. 储备知识在前面的book_manager.jsp页面中,显示所有图书数据都是没有进行条件筛选的。也就是说,数据库在查询图书数据时,效率非常低。再加上如果有成百个人同时访问该网站,数据库的效率则将更加低。所以我们应该设计一个提高效率的显示图书数据的book_manager.jsp页面。1.1 分析问题开发中不推荐使用不带条件的查询语句:一次查询所有,mysql执行效率低,用户体验差,使用...原创 2019-10-10 21:01:01 · 697 阅读 · 0 评论 -
Day14_JavaWeb——获取要修改的图书数据并显示
一. 储备知识实现管理员修改图书的功能的设计思想:1.1 在book_manager.jsp页面中点击修改超链接应将修改标签所在的图书数据(包括id)携带到book_edit.jsp(1)方案1:将图书数据拼接在修改超链接后(2)方案2:修改超链接提交请求给BookManagerServlet并且提交要修改图书的id,BookManagerServlet根据id查询要修改的图书对象然后存到...原创 2019-10-10 00:36:21 · 388 阅读 · 0 评论 -
Day13_JavaWeb——完成添加图书的功能
一. 储备知识1.1 添加功能的设计思想创建book_add.jsp页面+修改表单提交的地址为BookManagerServlet,并且数据提交给addBook方法处理表单中的请求参数名必须和Book类的属性名一致1.2 实现的步骤创建book_add.jsp页面+修改表单提交的地址为BookManagerServlet,并且数据提交给addBook方法处理修改book_manager...原创 2019-10-07 00:03:10 · 1629 阅读 · 0 评论 -
Day13_JavaWeb——完成删除图书的功能
一. 储备知识1.1 删除功能的设计思想当我们点击jsp页面中的删除按钮的超链接,则将请求(携带参数type=deleteBook和其他参数等等)传给BookManagerServlet,让BookManagerServlet获取参数,将请求交给业务层处理,处理完就给用户响应(考虑转发还是重定向,删除功能的响应有点特别,注意下面的源码)当我们完成删除功能之后,要完善该功能,上面的做法是一点...原创 2019-10-06 23:44:12 · 1136 阅读 · 0 评论 -
Day12_JavaWeb——使用EL+JSTL遍历显示图书数据
一. 储备知识在项目中使用EL+JSTL遍历显示图书数据,主要分为两大部分:完成管理员端的增删改查功能;完成用户访问index页面的图书的显示和按照加个查询指定数据的功能。本篇首先讲述第一个功能。1.1 完成管理员端的增删改查功能前面设计了一个三层架构来优化Servlet处理请求,所以这次介绍的功能也同样使用三层架构来实现。变现层:用户交互的内容book_manager.jsp:提供图...原创 2019-10-06 23:30:19 · 1014 阅读 · 0 评论 -
Day12_JavaWeb——注册失败时表单数据回显
一. 储备知识1.1 问题描述在regist.jsp注册页面中,当我提交注册信息,但是注册失败,那么服务器会转发路径到regist.jsp。但是当重新回到regist.jsp页面时,刚刚填写的注册信息全部变为空白了,假如有很多信息要重新填写,无疑增加了工作量和打磨了用户的耐心。所以我们要设计一个解决方案,使得不需要重新填写注册信息。1.2 为什么会产生上面的问题?因为第一次提交请求给服务器...原创 2019-10-04 14:12:51 · 435 阅读 · 0 评论 -
Day11_JavaWeb——登录注册失败时错误提示
一. 储备知识1.1 问题描述当在login.jsp或regist.jsp页面中,登录失败或者注册失败时,总得有一些提示信息显示出来,用户才知道是否登录成功或者是否注册成功。1.2 用Servlet处理请求,将业务交给业务层,最后在显示层返回提示信息业务层是调用dao与数据库接触,处理完的数据返回给显示层显示出来。显示层是显示用户需要用到的数据或者处理完的数据。解决1.1节中的问题,可...原创 2019-10-03 21:00:28 · 2441 阅读 · 0 评论 -
Day11_JavaWeb——BaseServlet管理子类UserServlet方法调用
一. 储备知识Servlet功能过于单一,一个Servlet只能处理一个请求。我们应该设法将一类的请求交给一个Servlet处理,UserServlet处理和用户相关的请求(比如登录、注册)1.1 具体做法在login.jsp页面中收集登录信息的form表单中使用input隐藏域携带type=login的参数提交给UserServlet创建UserServlet处理和用户相关的请求在d...原创 2019-10-03 13:26:04 · 407 阅读 · 0 评论 -
Day11_JavaWeb——项目中使用三层架构+完成UserService
一. 储备知识1.1 软件中的三层架构名字解释表示层UI(User Interface layer)主要是与用户交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据业务逻辑层BLL(Business Logic Layer)UI层和DAL层之间的桥梁。实现业务逻辑(包括验证、计算和业务规划等等)数据访问层DAL(Data Access Layer)...原创 2019-10-03 15:59:09 · 329 阅读 · 0 评论