Java Web 开发 从入门到实战(课后习题)

第1章 Web 前端基础

1.在以下标记中,用于改置页面标题的是()。

A. </strong><br> B. <caption><br> C. <head><br> D. <html></p> <p>注:caption是表格名称(标题)</p> <p>2. 若设计网页的背景图形为bg.png,在以下标记中正确的是()。</p> <p>A. <strong><body background="bg.png"></strong><br> B. <body ground="bg.png"><br> C. <body image="bg.png"><br> D. < body bgcolor="bg.png"></p> <p>3. 下列关于 HTML 文件的说法正确的是()。</p> <p>A. HTML 标记都必须配对使用<br> B. 在<title>和</itle>标记之间的是头信息<br> C. HTML 标记是区分大小写的,<B>跟<b>表示的意思是不一样的<br> D. <strong><!-- -->标记是注释标记</strong></p> <p>注:HTML标签是无关大小写的,<B>跟<b>表示的意思是一样的</p> <p>4. 下列()表示的不是按钮。</p> <p>A. type="submit"         B. type="reset"<br> C. <strong>type="myButton"      </strong>   D. type="button</p> <p>5. 若产生一个4行30列的多行文本域,在以下方法中,正确的是()。</p> <p>A. <input type="text" rows="4" cols="30" name="txtintrol"><br> B. <textarea rows="4" cols="30" name="txtintro"><br> C. <strong><textarea rows="4" cols="30" name="txtintro"></textarea></strong><br> D. <textarea rows="30" cols="4" name="txtintro"*</textarea></p> <p>6. 下列属性中用于设置文本框显示宽度的属性是()。<br> A. <strong>size</strong><br> B. maxlength<br> C. value<br> D. length</p> <p>7. 下面对表单的说法错误的是()。</p> <p>A. 表单在Web页面中用来给访问者填写信息,从而能采集客户端信息,使页面具有交互信息的功能<br> B. <strong>当用户填写完信息后单击普通按钮做提交(submit)操作</strong><br> C. 一个表单用<form></form>标签来创建<br> D. action 属性的值是指处理程序的程序名(包括网络路径、网址或相对路径)</p> <p>8. 下面说法中错误的是()。</p> <p>A. <strong>在HTML语言中,<input>标记具有重要的地位。它能够将浏览器中的控件加载到HTML 文档中,该标记既有开始标记,又有结束标记</strong><br> B. <input type="text”>是设定一个单行的文本输入区域<br> C. size 属性指定控件宽度,表示该文本输入框所能显示的最大字符数<br> D. maxlength 属性表示该文本输入框允许用户输入的最大字符数</p> <p>9. 下面对于按钮的说法中正确的是()。</p> <p>A. <strong>按钮可分为普通按钮、提交按钮和重置按钮</strong><br> B. <input type="button”>表示这是一个提交到服务器的按钮<br> C. <input type="reset">表示这是一个普通按钮<br> D. name 属性用来指定按钮页面显示的名称</p> <p>10. 下面说法中错误的是()。</p> <p>A. <input type="checkbox " checked>中的checked 属性用来设置该复选框默认是否被选中<br> B. <strong><input type="hidden”>表示一个隐藏区域,用户可以在其中输入某些要传选的信息</strong><br> C. <input type="password”>表示这是一个密码区域,当用户输入密码时区域内第会显示“*”号<br> D. <input type="radio">表示这是一个单选按钮</p> <p>注:<input type="hidden”>表示一个隐藏区域,用户无法在其中输入信息。</p> <p>11. 下列说法中错误的是()。</p> <p>A. <select></select>标记对用来创建一个菜单下拉列表框<br> B. <strong>下拉列表框中的 multiple 属性不用赋值,直接加入到标记中即可使用,加入此属性后列表框就可以多选</strong><br> C. <option>标记用来指定列表框中的一个选项<br> D. 不可以设定输入多行的文本区的大小</p> <p>12. 下面对于样式表的说法中错误的是(</p> <p>A. CSS 就是 Cascading Style Sheets,中文翻译为“层叠样式表”,简称样式表<br> B. <strong>将CSS 指定的格式加入到 HTML 中的方法有两种</strong><br> C. 外部链接CSS 时需要在HTML文件里加一个超链接,连接到外部的CSs如<br> D. 内定义 CSS 时需要在 HTIML 文件内的<head>/bead标记对之同加一段CSS的描述内容</p> <p>注:CSS将指定的格式加入到HTML中的方法就一种,即在HTML文件内的<head>标签进行定义。</p> <p>13. 下面对于样式表的说法中错误的是()。</p> <p>A.CSS 的定义由3个部分构成,即选择符(selector)、属性(properties)和属性的取值(value)<br> B.<strong>选择符可以是多种形式,一般是要定义样式的HTML标记,用户可以通过此方法定义它的属性和值,属性和值要用逗号隔开</strong><br> C. CSS 可以定义字体属性<br> D. CSS 可以定义颜色和背景属性</p> <p>注:选择符不需要用逗号隔开属性和值。</p> <p>14.下列说法中错误的是()。</p> <p>A. p  {font-family:"sans serif"} 定义段落字体 sans serif<br> B. <strong>p{text-align:"center;color:red"}定义段落居中排列,并且段落中的文字为红色</strong><br> C. background-image 属性用来设置背景图片<br> D. background-color 属性用来设置背景颜色</p> <p>注:在CSS中,多个属性应该使用分号而不是逗号进行分隔。</p> <p>15.()对象表示浏览器的窗口,可用来检索关于该窗口状态的信息。</p> <p>A. document<br> B. <strong>window</strong><br> C. location<br> D. history</p> <p>16.() 对象表示给定浏览器窗口中的 HTML 文档,用来检索关于文档的信息。</p> <p>A. <strong>document</strong><br> B. window<br> C. screen<br> D. history</p> <p>17.()方法要求窗口显示刚刚访问的前一个页面。</p> <p>A. <strong>back()</strong><br> B. go()<br> C. display()<br> D. view()</p> <p>18. 有关变量的命名规则,下列说法中错误的是()。</p> <p>A. 以字母、下画线(_)或美元符号($)开头<br> B. 首字符之外的字符可以是下画线、美元符号,或任何的字母、数字<br> C. <strong>不能有空格,不区分大小写</strong><br> D. 不能使用 JavaScript 中的关键字或保留字命名</p> <p>19. 单击按钮触发的事件是()。<br> A. <strong>onClick</strong><br> B. onFocus<br> C. onChange<br> D. onLoad</p> <p>20. 页面加载时产生的事件是()。</p> <p>A. onClick<br> B. onFocus<br> C. onChange<br> D. <strong>onLoad</strong></p> <p>21.用HTML编写网页版个人简历,具体要求如下:<br> (1)页面内容以 DIV+CSS形式体现。<br> (2)信息内容包括个人基础信息、近期照片、学习经历、兴趣爱好、求职意间。</p> <pre><code class="language-html"><!DOCTYPE html> <meta charset="UTF-8"> <html> <head> <style> .resume { width: 60%; margin: auto; background-color: #f2f2f2; padding: 20px; font-family: Arial, sans-serif; } .section { margin-bottom: 20px; } .section h2 { color: #333; } .section p { color: #666; } </style> </head> <body> <div class="resume"> <div class="section"> <h2>个人基础信息</h2> <p>姓名:张三</p> <p>年龄:25</p> <p>性别:男</p> <p>电话:123456789</p> <p>邮箱:zhangsan@example.com</p> </div> <div class="section"> <h2>近期照片</h2> <img src="photo.jpg" alt="近期照片"> </div> <div class="section"> <h2>学习经历</h2> <p>2015-2019:北京大学,计算机科学与技术专业</p> <p>2019-至今:清华大学,人工智能专业</p> </div> <div class="section"> <h2>兴趣爱好</h2> <p>阅读</p> <p>旅行</p> <p>编程</p> </div> <div class="section"> <h2>求职意向</h2> <p>期望职位:人工智能工程师</p> <p>期望薪资:面议</p> <p>期望地点:北京</p> </div> </div> </body> </html> </code></pre> <h2>第2章 Java Web 开发环境的构建</h2> <p>1.安装 Tomcat 服务器所在的计算机需要事先安装JDK 吗?</p> <blockquote> <p>安装Tomcat服务器所在的计算机需要事先安装JDK(Java开发工具包)。因为Tomcat是用Java语言编写的,它需要Java运行环境来正常工作。因此,在安装Tomcat之前,必须确保计算机上已经安装了JDK。</p> </blockquote> <p>2. Tomcat 服务器的默认端口号是什么?如果想修改该端口号,应该修改哪个文件?</p> <blockquote> <p>Tomcat服务器的默认端口号是8080。如果想修改该端口号,应该修改Tomcat的配置文件server.xml。在该文件中,可以找到对应的端口配置并进行修改。</p> </blockquote> <p>3. First.jsp 和 first.jsp 是否为相同的JSP文件名?</p> <blockquote> <p>在Web程序中,First.jsp和first.jsp被视为相同的JSP文件名。</p> </blockquote> <p>4. JSP 引擎是怎样处理JSP 页面中的HTML 标记的?</p> <blockquote> <p>JSP引擎会将JSP页面中的HTML标记直接输出到响应的页面中。当客户端请求JSP页面时,JSP引擎会解析JSP页面,将其中的HTML标记直接发送给客户端,使得客户端可以渲染页面。同时,JSP引擎也会处理其中的JSP元素和脚本代码,并生成相应的Java Servlet代码来处理请求和生成响应。</p> </blockquote> <p>5. 当用户请求JSP 页面时,JSP 引擎将会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是()。</p> <p>A.发送一个JSP 源文件到客户端<br> B. 发送一个 Java 文件到客户端<br> C. <strong>发送一个 HTML 页面到客户端</strong><br> D. 什么都不做</p> <h2>第3章 JSP语法</h2> <p>1.JSP 页面由哪几种主要元素组成?</p> <blockquote> <p>HTML页面标签:这是用来构建页面结构的HTML代码。<br> 指令:指令是用来定义整个页面的相关信息,例如页面的字符集编码等。指令格式为<%@指令名 属性名=”值”%>。<br> 表达式:表达式是用于在JSP页面中进行数据绑定和计算的,例如获取请求参数、数据库查询结果等。表达式的格式为 <%=表达式%>。<br> 代码片段:代码片段是在JSP页面中嵌入的Java代码,可以用来处理复杂的业务逻辑。代码片段的格式为 <%java代码%>。<br> 声明:声明是定义类成员的地方,其格式为 <%! 类成员 %>。<br> 注释:注释是用来解释代码或者提供其他信息的一种方式,其格式为 <%-- jsp注释内容 --%>。<br> 动作:动作是JSP页面中执行特定任务的标签,如包含其他文件、导入Java包等。动作的格式为 <jsp:动作名></jsp:动作名>。</p> </blockquote> <p>2. 如果有3个用户访问一个JSP 页面,则该页面中的Java 程序片将被执行几次?</p> <blockquote> <p>如果有3个用户访问一个JSP页面,该页面中的Java程序片段将会被执行3次,分别为每个用户的访问执行一次。每次访问都会触发JSP引擎执行相应的Java程序片段来生成动态内容。</p> </blockquote> <p>3."<%!"和"%>"之间的声明的变量与 "<%"和"%>"之间的声明的变量有何不同?</p> <blockquote> <p>"<%!" 和 "%>" 之间的声明用于定义全局变量和方法,它们会被插入到生成的servlet类的成员变量或方法中,因此这些变量和方法在整个JSP页面中都是可见的。</p> <p>而 "<%" 和 "%>" 之间的声明用于写入Java代码片段,这些代码片段会被插入到生成的servlet类的service()方法中。因此,这些变量和方法只在当前的代码片段内部可见。</p> </blockquote> <p>4. 动作标记 include 和指令标记 include 的区别是什么?</p> <blockquote> <p>1. <jsp:include> 是一个动作标记,它在运行时动态包含其他文件的内容,可以包含静态或动态资源,包含的内容将在运行时被处理和执行。 <%@ include %> 是一个指令标记,它在翻译阶段静态地包含其他文件的内容,包含的内容将在翻译阶段被插入到JSP页面中。</p> <p>2. <jsp:include> 可以包含动态的内容,例如其他JSP页面或Servlet的输出。 <%@ include %> 只能包含静态的内容,例如HTML片段或文本文件。 因此,主要区别在于包含的时间点和包含内容的类型。</p> </blockquote> <p>5.在一个JSP 页面中是否允许使用 page指令为 contentType 属性设置多个值?是否许使用 page 指令为 import 属性设置多个值?</p> <blockquote> <p>在一个JSP页面中,page指令的contentType属性只能设置一个值。这个值用于指定生成的Servlet响应的内容类型。 同样地,page指令的import属性也只能设置一个值。这个值用于导入Java类或包,以便在JSP页面中使用这些类。 因此,page指令的contentType属性和import属性都只能设置单个值。</p> </blockquote> <p>6. 用户可以在以下()标记之间插入 Java 程序片。</p> <p>A.<strong>“<%”和“%>”</strong><br> B.“<%”和“/>”<br> D.“<%”和“!>”<br> C. “</”和“%>”</p> <p>7.JSP 的page 指令的language属性的默认值是()。<br> A. <strong>Java</strong><br> В. С<br> C. CH<br> D. SQL</p> <p>8. 用户可以在以下()标记之间插入变量与方法声明。</p> <p>A. “<%”和“%>”<br> B.<strong>“<%!”和“%>”</strong><br> C.“</”和“%>”<br> D.“<%”和“ >”</p> <p>9.下列变量声明在()范围内有效。</p> <pre><code class="language-html"><%! Date dateTime; int countNum; %></code></pre> <p>A. 从定义开始处有效,客户之间不共享<br> B. 在整个页面内有效,客户之间不共享<br> C. <strong>在整个页面内有效,被多个客户共享</strong><br> D. 从定义开始处有效,被多个客户共享</p> <p>10、在“ ”和 ”标记之同声明的Java方法称为页面的成员方法,其()有效。</p> <p>A. 从定义处之后<br> B. 在整个页面内<br> C. <strong>从定义处之前</strong><br> D. 不确定</p> <p>11.在“<%=”和“%>”标记之间放置()可以直接输出其值。</p> <p>A.变量<br> B. <strong>Java 表达式</strong><br> C.字符串<br> D. 数字</p> <p>12. include 指令用于在JSP 页面中静态插入一个文件,所插入文件可以是JSP 页画、HTML 网页、文本文件或一段Java 代码,但必须保证插入后形成的文件是()。</p> <p>A.一个完整的HTML 文件<br> C.一个完整的TXT文件<br> B.<strong>一个完整的JSP文件</strong><br> D.一个完整的 Java 源文件</p> <p>13. 组成“<%=”标记的各字符之间()。</p> <p>A. 可以有空格<br> B.<strong>不可以有空格</strong><br> C. 必须有空格<br> D. 不确定</p> <h2>第4章 JSP内置对象</h2> <p>1. 下面()操作不能关闭session对象。</p> <p>A. <strong>用户刷新当前界面调用</strong><br> B. 用户关闭浏览器<br> C. session 达到设置的最长“发呆”时间<br> D. session 对象的 invalidate()方法</p> <p>2. 有如下程序片段:</p> <pre><code class="language-html"><form> <input type = "text" name = "id"> <input type = "submit" value ="提交"> </form></code></pre> <p>下面()语句可以获取用户输入的信息。</p> <p>A. <strong>request.getParameter("id");</strong><br> B. request.getAttribute("submit");<br> C. session.getParameter(key, "id");<br> D. session.getAttribute(key, "id");</p> <p>3. 下面的()内置对象是对客户的请求做出响应,向客户端发送数据的。</p> <p>A. request<br> B. session<br> C. <strong>response</strong><br> D. application</p> <p>4. 可以使用()方法实现客户的重定向。</p> <p>A. response.setStatus;<br> B. response.setHeader;<br> C. response.setContentType;<br> D. <strong>response.sendRedirect;</strong></p> <p>5. 下面不属于JSP 内置对象的是()。</p> <p>A. out 对象<br> B. response 对象<br> C. application 对象<br> D. <strong>cookie 对象</strong></p> <p>6. 下面对象中作用域最大的是(</p> <p>A. page<br> B. request<br> C. <strong>application</strong><br> D. session</p> <p>7. 在JSP 中保存用户会话信息使用()对象。</p> <p>A. page<br> B. request<br> C. application<br> D. <strong>session</strong></p> <p>8. 如果选择一个对象保存聊天室信息,则选择()。</p> <p>A. page<br> B. request<br> C. <strong>application</strong><br> D. session</p> <p>注:在聊天室应用中,如果要保存聊天室信息,应该选择C. application 对象。因为 application 对象是全局的,可以在整个应用程序中共享数据,适合用于保存聊天室信息这样的全局数据。</p> <p>9. 什么对象是JSP 的内置对象?常见的内置对象有哪些?</p> <p><span class="link-card-box"><span class="link-title">具体内容写过一遍了不再赘述</span><span class="link-link"><img class="link-link-icon" src="http://img.e-com-net.com/image/info8/20cf6475f3a748749177a8d323f1e65c.jpg" alt="icon-default.png?t=N7T8" width="0" height="0">https://blog.csdn.net/qiqi_liuliu/article/details/135483501</span></span>10.request、session 和 application 对象的作用域是什么?它们之间有什么区别?</p> <blockquote> <p>与上一题一样,直接点超链接里头看</p> </blockquote> <p>11. 一个用户在不同 web 服务中的 session 对象相同吗?一个用户在同一 Web 服务的不同子目录中的 session 对象相同吗?</p> <blockquote> <p>        不同的Web服务中,即使是同一个用户,其session对象也是不同的。每个Web服务都有自己独立的session管理机制,因此无法共享session对象。</p> <p>        在同一个Web服务的不同子目录中,session对象是相同的。这是因为session对象是与用户的会话相关联的,而不是与特定的子目录相关联的。因此,无论用户访问Web服务的哪个子目录,其session对象都是相同的。</p> </blockquote> <p>12. session 对象的生命周期依赖于哪些因素?</p> <blockquote> <ol> <li> <p><strong>会话期间</strong>:Session对象的生命周期与用户的会话期间相关联。当用户在浏览器中打开一个会话并与Web服务器进行交互时,会话开始;当用户关闭浏览器或会话超时时,会话结束。</p> </li> <li> <p><strong>会话超时设置</strong>:Web服务器通常会设置session的超时时间,超过这个时间没有活动的会话将被销毁。这个超时时间可以在服务器的配置中进行设置。</p> </li> <li> <p><strong>手动失效</strong>:Session对象也可以被程序员手动失效,通过调用session.invalidate()方法来销毁session对象。</p> </li> </ol> </blockquote> <p>13. 简述 forward 动作标记与 response.sendRedirect()两种跳转的区别。</p> <blockquote> <ol> <li> <p><strong>执行位置</strong>:</p> <ul> <li>forward动作标记是在服务器端执行的,由服务器内部进行页面跳转,客户端浏览器不知道页面的真实路径。</li> <li>response.sendRedirect()是在客户端执行的,服务器会向客户端发送一个重定向的响应,客户端浏览器会再次发送请求到新的URL。</li> </ul></li> <li> <p><strong>URL变化</strong>:</p> <ul> <li>forward动作标记不会改变浏览器的URL,因为是服务器内部进行的页面跳转。</li> <li>response.sendRedirect()会改变浏览器的URL,因为是客户端重新发送请求到新的URL。</li> </ul></li> <li> <p><strong>数据共享</strong>:</p> <ul> <li>forward动作标记可以在跳转的过程中共享request域中的数据。</li> <li>response.sendRedirect()不能直接在跳转的过程中共享数据,需要通过URL参数或者session来传递数据。</li> </ul></li> </ol> </blockquote> <h2>第5章 JSP 与 JavaBean</h2> <p>1. 下面方式中正确使用JavaBean 的是()。</p> <p>A. <strong><jsp:useBean id-"address" class="tom. AddressBean" scope="page"/></strong><br> B. <jsp:useBean name="address" class="tom. AddressBean" scope="page"/><br> C. <jsp:useBean bean="address" class="tom. AddressBean" scope="page" /><br> D. <isp:useBean beanName="address" class="AddressBean" scope="page" /></p> <p>2. JavaBean 中方法的访问属性必须是()。<br> A. private<br> B. <strong>public</strong><br> C. protected<br> D. friendly</p> <p>3.在JSP 中调用 JavaBean 时不会用到的标记是()。</p> <p>A. <strong><javabean></strong><br> B. <jsp:useBean><br> C. <jsp:setProperty><br> D. <jsp:getProperty></p> <p>4. JavaBean 的作用域可以是() page, session fil application.</p> <p>A. <strong>request</strong><br> B. response<br> C. out<br> D. 以上都不对</p> <p>5. 在 testjsp 文件中有如下一行代码:</p> <pre><code class="language-html"><jsp:useBean class="tom. jiafei.Test" id-"user" scope="___"/></code></pre> <p>要使user 对象一直存在于会话中,直到终止或被删除为止,在下画线处应填入()。</p> <p>A. page<br> B. request<br> C. <strong>session</strong><br> D. application</p> <p>6. 在JSP 中使用<jsp:useBean>动作可以将 JavaBean 引入JSP 页面,对JavaBean 的访问范围不能是()。</p> <p>A. page<br> B. request<br> C. <strong>response</strong><br> D. application</p> <p>7. 下面语句与<jsp:getProperty name="aBean" property="jsp"/>等价的是()。</p> <p>A. <%=jsp()%><br> B. <strong><out.print(aBean.getJsp);%></strong><br> C. <%=aBean.setJsp()%><br> D. <%aBean.setJsp();%></p> <p>8.以下是有关jsp:setProperty 和 jsp:getProperty 标记的描述,正确的是()。</p> <p>A. Ssp:setProperty> 和<jsp:getProperty>标记都必须在<jsp:useBean>的开始标记和结束标记之间<br> B.<strong>这两个标记的 name 属性值必须与sjsp:useBean>标记的id 属性值相对应</strong><br> C.这两个标记的 name 属性值可以与<jsp:useBean>标记的 id 属性值不同<br> D. 以上均不对</p> <p>9. 在JSP 中使用<jsp:getProperty>标记时不会出现的属性是()。</p> <p>A. name<br> B. property<br> C. <strong>value</strong><br> D. 以上皆不会出现<br>  </p> <h2>第6章 Java Servlet 基础</h2> <p>1.servlet对象是在服务器端被创建的,还是在用户端被创建的?</p> <blockquote> <p>        Servlet对象是在服务器端被创建的。</p> <p>        当客户端发送一个HTTP请求时,服务器端的Servlet容器会创建一个新的Servlet实例来处理这个请求,然后返回响应给客户端。因此,Servlet对象的创建和管理完全是在服务器端进行的。</p> </blockquote> <p>2. 什么是转发?什么是重定问?它们有什么区别?</p> <blockquote> <p>转发(forward)是指在服务器端将请求转发到另一个资源(Servlet、JSP等)进行处理,然后将处理结果返回给客户端。在转发过程中,客户端浏览器并不知道页面的真实路径,整个过程对客户端来说是透明的。转发是通过RequestDispatcher对象实现的。</p> <p>重定向(redirect)是指在服务器端返回一个特殊的响应给客户端,告诉客户端去请求另一个URL。客户端浏览器会收到这个响应后,会再次发送一个新的请求到这个新的URL。在重定向过程中,客户端浏览器会改变URL,因此客户端可以看到新的URL。重定向是通过发送特殊的HTTP响应码(如302)和Location头来实现的。</p> </blockquote> <blockquote> <p><strong>区别</strong>:</p> <ol> <li><strong>位置</strong>:转发是在服务器内部进行的,对客户端来说是透明的;重定向是通过客户端浏览器重新发送请求到新的URL实现的。</li> <li><strong>URL变化</strong>:转发不会改变浏览器的URL;重定向会改变浏览器的URL。</li> <li><strong>数据共享</strong>:转发可以在跳转的过程中共享request域中的数据;重定向不能直接在跳转的过程中共享数据,需要通过URL参数或者session来传递数据。</li> </ol> </blockquote> <p>3.简述 Servlet 的生命周期与运行原理。</p> <blockquote> <p><strong>Servlet的生命周期</strong>:</p> <ol> <li><strong>初始化阶段</strong>:当Servlet容器接收到对Servlet的第一个请求时,会创建Servlet实例并调用其init()方法进行初始化。在init()方法中,Servlet可以进行一些初始化操作,比如读取配置文件、建立数据库连接等。</li> <li><strong>请求处理阶段</strong>:一旦Servlet被初始化,它就可以处理来自客户端的请求。每次接收到请求时,Servlet容器会调用Servlet的service()方法来处理请求,并生成响应。在service()方法中,Servlet可以根据请求的类型(GET、POST等)来进行相应的处理。</li> <li><strong>销毁阶段</strong>:当Servlet容器决定将Servlet实例销毁时(比如服务器关闭或者应用程序重新部署),会调用Servlet的destroy()方法来执行一些清理操作,比如关闭数据库连接、释放资源等。</li> </ol> </blockquote> <blockquote> <p>Servlet的运行原理: Servlet容器(比如Tomcat)负责管理Servlet的生命周期和调用。</p> <p>        当客户端发送请求时,Servlet容器会根据URL中的映射关系找到对应的Servlet,并创建一个线程来处理这个请求。</p> <p>        Servlet容器会根据需要创建新的Servlet实例,或者重用已经存在的Servlet实例。</p> <p>        在处理完请求后,Servlet容器会将生成的响应返回给客户端,并根据需要保持或销毁Servlet实例。 </p> </blockquote> <p>4.Servlet 对象初始化时是调用 init 方法还是 service 方法?</p> <blockquote> <p>Servlet对象初始化时是调用 init 方法。init 方法是在Servlet对象初始化阶段被调用,用于进行一些初始化操作,比如读取配置文件、建立数据库连接等。一旦Servlet对象初始化完成,就可以通过调用 service 方法来处理客户端请求。</p> </blockquote> <p>5. 下列选项中,()不是 Servlet 中使用的方法。</p> <p>A. doGet<br> B. doPost<br> C. service<br> D. <strong>close</strong></p> <p>6. 下列选项中,对 Servlet 描述错误的是()。</p> <p>A. Servlet 是一个特的 Java 类,它必须直接或间接实现 Servlet 接口<br> B. Servlet 接口定义了 Servlet 的生命周期方法<br> C. <strong>当多个客户请求一个 Servlet 时,服务器为每一个客户启动一个进程</strong><br> D. Servlet 客户线程调用service 方法响应客户的请求</p> <p>7. 下列 Servlet 的方法中,()方法载入时被执行,且只执行一次,负责对 Servlet<br> 生行初始化。</p> <p>A. service()<br> B. <strong>init()</strong><br> C. doPost()<br> D. destroy()</p> <p>8. 下列 Servlet 的方法中,()方法用来为请求服务,在 Servlet 生命周期中,Servet<br> 被请求一次它就会被调用一次。</p> <p>A. <strong>service()</strong><br> B. init()<br> C. doPost()<br> D. destroy()</p> <p><br> 9. 下列方法中,()方法当服务器关闭时被调用,用来释放 Servet 所占的资源。</p> <p>A. service()<br> B. init()<br> C. doPost()<br> D.<strong> destroy()</strong></p> <p>10. 阅读下面代码片段:</p> <pre><code class="language-html">JavaBeanClass bean=new JavaBeanClass (parameter) ; HttpSession session=request. getSession (true) ; session. setAttribute ("keyword", bean) ;</code></pre> <p>关于该段代码创建的bean,下列叙述正确的是()。</p> <p>A. request 周期的 bean<br> B. application 周期的bean<br> C. <strong>session 周期的 bean</strong><br> D. Page 周期的 bean</p> <p>11. 阅读下面代码片段:</p> <pre><code class="language-html">RequestDispatcher dispatcher=request. getRequestDispatcher ("a. jsp"); dispatcher. forward (request, response) ;</code></pre> <p>关于该段代码的作用,下列叙述正确的是()。</p> <p>A. 页面重定向到a.jsp 页面<br> B. <strong>将请求转发到 a.jsp 页面</strong><br> C. 从a.jsp定向到当前页面<br> D. 从a.jsp转发到当前页面</p> <h2>第7章 会话跟踪技术</h2> <p>1. 会话跟踪技术有哪些?</p> <blockquote> <ol> <li> <p><strong>Cookie</strong>:在客户端存储小段文本数据,随后每次请求都会将这些数据发送给服务器。可以用于跟踪用户会话和存储会话相关的数据。</p> </li> <li> <p><strong>Session</strong>:在服务器端存储用户会话数据,每个用户都有一个唯一的会话标识。通常使用Cookie来传递会话标识,然后在服务器端存储会话数据。</p> </li> <li> <p><strong>URL 重写</strong>:将会话标识信息附加到URL中,以便在用户请求时传递会话信息。这种方法在URL中添加参数来标识会话。</p> </li> <li> <p><strong>隐藏表单字段</strong>:在HTML表单中添加隐藏字段来存储会话信息,以便在用户提交表单时传递会话数据。</p> </li> <li> <p><strong>URL 重定向</strong>:在重定向响应中将会话信息作为URL参数传递给客户端,以便在客户端进行页面跳转时传递会话数据。</p> </li> </ol> </blockquote> <p>2. 在工程实践中为什么要进行会话跟踪?</p> <blockquote> <ol> <li> <p><strong>用户身份识别</strong>:会话跟踪可以用于识别用户身份,保持用户登录状态,以便在多个页面之间保持用户的身份信息和权限。</p> </li> <li> <p><strong>购物车和订单处理</strong>:在电子商务网站中,会话跟踪可以用于跟踪用户的购物车内容和订单信息,以便在用户浏览和购买商品时保持购物车状态和订单信息。</p> </li> <li> <p><strong>个性化体验</strong>:通过会话跟踪,网站可以根据用户的偏好和历史行为提供个性化的推荐和内容,提高用户体验和满意度。</p> </li> <li> <p><strong>数据传递</strong>:会话跟踪可以用于在用户请求之间传递数据,比如在多个页面之间共享用户的输入信息或者状态数据。</p> </li> <li> <p><strong>安全性</strong>:会话跟踪可以用于实现安全性需求,比如防止跨站请求伪造(CSRF)攻击,保护用户会话数据的安全性。</p> </li> <li> <p><strong>性能优化</strong>:通过会话跟踪,网站可以对用户的访问行为进行分析和优化,提高网站的性能和用户体验。</p> </li> </ol> </blockquote> <p>3. 浏览器禁用 Cookie 后,如何进行会话跟踪?</p> <blockquote> <p>当浏览器禁用了Cookie后,可以使用其他会话跟踪技术来实现会话跟踪。</p> </blockquote> <h2>第8章 过滤器和监听器</h2> <p>1. 简述过滤器的运行原理。</p> <blockquote> <ol> <li> <p><strong>拦截请求</strong>:当客户端发送HTTP请求时,过滤器可以拦截这些请求。过滤器可以在请求到达Servlet之前对请求进行处理,比如校验、修改、记录日志等。</p> </li> <li> <p><strong>过滤器链</strong>:如果存在多个过滤器,它们会形成一个过滤器链。每个过滤器都有机会对请求进行处理,然后将请求传递给下一个过滤器,或者直接传递给Servlet进行处理。</p> </li> <li> <p><strong>处理请求</strong>:当请求通过所有过滤器后,最终会到达Servlet,由Servlet来处理请求并生成响应。</p> </li> <li> <p><strong>拦截响应</strong>:在Servlet生成响应后,响应会经过过滤器链中的过滤器。过滤器可以在响应发送到客户端之前对响应进行处理,比如压缩、加密、添加响应头等。</p> </li> <li> <p><strong>过滤器链执行顺序</strong>:过滤器的执行顺序由它们在web.xml中的配置顺序决定。先配置的过滤器先执行,后配置的过滤器后执行。</p> </li> </ol> </blockquote> <p>2. Filter 接口中有哪些方法?它们分别具有什么功能?</p> <blockquote> <ol> <li> <p><strong>void init(FilterConfig filterConfig)</strong></p> <ul> <li>该方法在过滤器被初始化时调用,用于进行一些初始化操作。</li> <li>参数filterConfig包含了过滤器的配置信息,可以通过该参数获取初始化参数、Servlet上下文等信息。</li> </ul></li> <li> <p><strong>void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)</strong></p> <ul> <li>该方法用于实际拦截请求和响应,对它们进行处理,并将请求传递给下一个过滤器或目标Servlet。</li> <li>参数request表示客户端的请求,参数response表示要返回给客户端的响应,参数chain表示过滤器链,通过调用chain.doFilter(request, response)可以将请求传递给下一个过滤器或目标Servlet。</li> </ul></li> <li> <p><strong>void destroy()</strong></p> <ul> <li>该方法在过滤器被销毁时调用,用于进行一些清理操作。</li> <li>在该方法中可以释放资源、关闭连接等清理工作。</li> </ul></li> </ol> </blockquote> <p>3. 过滤器可以实现哪些常用功能?</p> <blockquote> <ol> <li> <p><strong>日志记录</strong>:记录请求和响应的信息,用于分析和监控应用程序的运行情况。</p> </li> <li> <p><strong>权限验证</strong>:对请求进行身份验证和权限检查,以确保用户有权访问特定的资源或执行特定的操作。</p> </li> <li> <p><strong>数据压缩</strong>:对响应数据进行压缩,以减少传输数据量,提高网站性能。</p> </li> <li> <p><strong>字符编码转换</strong>:在请求和响应中进行字符编码的转换,确保数据的正确传输和显示。</p> </li> <li> <p><strong>请求过滤</strong>:对请求进行过滤和处理,比如防止恶意请求、拦截特定的请求等。</p> </li> <li> <p><strong>响应处理</strong>:对响应进行处理,比如添加响应头、重定向等。</p> </li> <li> <p><strong>性能监控</strong>:监控请求的处理时间、资源消耗等性能指标,用于性能优化和故障排查。</p> </li> <li> <p><strong>安全防护</strong>:实施安全策略,比如防止跨站脚本攻击(XSS)、防止跨站请求伪造(CSRF)等。</p> </li> <li> <p><strong>缓存控制</strong>:控制缓存策略,比如设置缓存过期时间、强制刷新缓存等。</p> </li> <li> <p><strong>请求转发和重定向</strong>:根据特定条件对请求进行转发或重定向到其他资源。</p> </li> </ol> </blockquote> <p>4. 简述监听器的分类。</p> <blockquote> <ol> <li> <p><strong>ServletContext 监听器</strong>:用于监听Web应用程序的生命周期事件,比如Web应用程序的启动和关闭。常用的监听器接口是<code>ServletContextListener</code>,它包括<code>contextInitialized</code>和<code>contextDestroyed</code>方法,分别在Web应用程序启动和关闭时被调用。</p> </li> <li> <p><strong>HttpSession 监听器</strong>:用于监听HTTP会话(Session)的生命周期事件,比如会话的创建、销毁、属性的添加和移除。常用的监听器接口是<code>HttpSessionListener</code>和<code>HttpSessionAttributeListener</code>,分别用于监听会话的创建和销毁,以及会话属性的变化。</p> </li> <li> <p><strong>ServletRequest 监听器</strong>:用于监听HTTP请求的生命周期事件,比如请求的到达、离开、属性的添加和移除。常用的监听器接口是<code>ServletRequestListener</code>和<code>ServletRequestAttributeListener</code>,分别用于监听请求的到达和离开,以及请求属性的变化。</p> </li> <li> <p><strong>监听器的上下文初始化和销毁</strong>:用于监听Web应用程序的上下文初始化和销毁事件。常用的监听器接口是<code>ServletContextListener</code>,通过实现<code>contextInitialized</code>和<code>contextDestroyed</code>方法来监听上下文的初始化和销毁。</p> </li> </ol> </blockquote> <p>5. 哪种监听器不需要部署?</p> <blockquote> <p>在JavaEE中,ServletContext监听器不需要显式部署。当Web应用程序启动时,容器会自动检测并调用实现了ServletContextListener接口的监听器,无需在web.xml文件中进行特殊配置。这使得ServletContext监听器成为一种非常便捷的方式来执行应用程序初始化和清理逻辑。</p> </blockquote> <h2>第9章 EL和JSTL</h2> <p>1.在Web 应用程序中有以下程序代码段,执行后转发到某个JSP页面:</p> <pre><code class="language-html">ArrayList<String> dogNames = new ArrayList<String> (); dogNames.add("goodDog" ); request.setAttribute ("dogs", dogNames);</code></pre> <p>下列选项中,()可以正确地使用EL 取得数组中的值。<br> A. ${ dogs.0}<br> B. <strong>${ dogs [0]}</strong><br> C. ${ dogs. [0]}<br> D. ${ dogs "0"}</p> <p>2. JSTL 标签()可以实现Java 程序中的if语句功能。</p> <p>A. <c:set><br> B. <c:out><br> C. <c: forEach><br> D. <strong><c:if></strong></p> <p>3.()不是EL 的隐含对象。</p> <p>A. <strong>request</strong><br> B. pageScope<br> C. sessionScope<br> D. applicationScope</p> <p>4. JSTL 标签()可以实现Java 程序中的for 语句功能。</p> <p>A. <c:set><br> B. <c:out><br> C. <strong><c: forEach></strong><br> D. <c:if></p> <p>5.与<jsp:include>功能类似的JSTL 标签是()。</p> <p>A. <c:url><br> B. <c:redirect><br> C. <c:include ><br> D. <strong><c:import></strong></p> <h2>第10章 文件的上传与下载</h2> <p>1.基于表单的文件上传需要注意什么?</p> <blockquote> <ol> <li> <p><strong>表单的enctype属性</strong>:确保表单的<code>enctype</code>属性被设置为<code>multipart/form-data</code>,以支持文件上传。这样表单数据和文件数据都能被发送到服务器。</p> </li> <li> <p><strong>文件大小限制</strong>:需要在服务器端和客户端都进行文件大小的限制。在服务器端,需要配置Web服务器和应用服务器的文件上传大小限制。在客户端,可以使用HTML5的<code><input type="file"></code>元素的<code>accept</code>和<code>size</code>属性进行文件类型和大小的限制。</p> </li> <li> <p><strong>文件类型限制</strong>:需要对文件类型进行限制,以确保只接受特定类型的文件。这可以通过客户端和服务器端的校验来实现。</p> </li> <li> <p><strong>文件名的安全性</strong>:需要对上传的文件名进行安全性校验,以防止恶意文件名导致的安全漏洞。</p> </li> <li> <p><strong>文件存储路径</strong>:需要指定文件上传后的存储路径,并确保该路径对应的文件夹有足够的权限进行文件写入。</p> </li> <li> <p><strong>处理上传文件</strong>:在服务器端,需要编写处理文件上传的代码,对上传的文件进行处理和存储。</p> </li> <li> <p><strong>异常处理</strong>:需要对文件上传过程中可能出现的异常进行处理,比如文件过大、文件类型不符、存储路径无权限等情况。</p> </li> <li> <p><strong>安全性考虑</strong>:需要考虑文件上传过程中的安全性问题,比如防止跨站脚本攻击(XSS)、拒绝服务攻击(DoS)等。</p> </li> </ol> </blockquote> <p>2.文件下载的实现方法有哪些?它们的优缺点是什么?</p> <blockquote> <ol> <li> <p><strong>直接链接下载</strong>:在网页上提供文件下载的超链接,用户点击链接即可下载文件。这是最简单的实现方法,但无法进行权限控制和统计下载量。</p> </li> <li> <p><strong>通过后端服务器提供下载接口</strong>:通过后端服务器提供一个接口,用户访问该接口并传入文件标识,后端服务器返回文件内容。这种方式可以实现权限控制和下载统计,但需要后端服务器进行额外的处理。</p> </li> <li> <p><strong>使用HTML5的download属性</strong>:在HTML5中,可以使用<code><a></code>标签的<code>download</code>属性来指定文件的下载名称,使得用户点击链接时可以直接下载文件。这种方法简单方便,但不适用于较老的浏览器。</p> </li> <li> <p><strong>使用JavaScript进行下载</strong>:通过JavaScript动态生成下载链接,并模拟用户点击该链接来触发文件下载。这种方法可以在不刷新页面的情况下进行文件下载,但需要考虑浏览器兼容性和安全性。</p> </li> <li> <p><strong>使用第三方库</strong>:可以使用第三方库如jQuery File Download等来简化文件下载的实现,提供更多的功能和兼容性支持。</p> </li> </ol> </blockquote> <blockquote> <p>这些方法各有优缺点:</p> <ul> <li> <p><strong>直接链接下载</strong>:简单方便,但无法进行权限控制和下载统计。</p> </li> <li> <p><strong>通过后端服务器提供下载接口</strong>:可以实现权限控制和下载统计,但需要后端服务器进行额外的处理。</p> </li> <li> <p><strong>使用HTML5的download属性</strong>:简单方便,但不适用于较老的浏览器。</p> </li> <li> <p><strong>使用JavaScript进行下载</strong>:可以在不刷新页面的情况下进行文件下载,但需要考虑浏览器兼容性和安全性。</p> </li> <li> <p><strong>使用第三方库</strong>:提供更多的功能和兼容性支持,但引入了额外的依赖。</p> </li> </ul> </blockquote> <h2>第11章 JDBC 数据库访问</h2> <p>1. JDBC能完成哪些工作?</p> <blockquote> <ol> <li> <p><strong>建立数据库连接</strong>:JDBC提供了<code>DriverManager</code>类和<code>DataSource</code>接口来建立与数据库的连接,可以连接各种不同类型的数据库。</p> </li> <li> <p><strong>执行SQL语句</strong>:通过JDBC可以执行数据库操作的SQL语句,包括查询、插入、更新和删除等操作。</p> </li> <li> <p><strong>处理查询结果</strong>:JDBC能够获取和处理SQL查询的结果集,将查询结果转化为Java对象或数据结构进行进一步处理。</p> </li> <li> <p><strong>事务管理</strong>:JDBC支持事务管理,可以通过<code>Connection</code>对象进行事务的提交、回滚和设置事务的隔离级别等操作。</p> </li> <li> <p><strong>元数据访问</strong>:JDBC可以获取数据库的元数据信息,包括表结构、索引、触发器等信息。</p> </li> <li> <p><strong>异常处理</strong>:JDBC提供了异常处理机制,能够捕获和处理数据库操作中可能出现的异常。</p> </li> <li> <p><strong>批处理操作</strong>:JDBC支持批处理操作,可以一次性执行多个SQL语句,提高数据库操作的效率。</p> </li> </ol> </blockquote> <p>2.使用纯Java 数据库驱动程序访问数据库时,有哪些步骤?</p> <p><span class="link-card-box"><span class="link-title">详情见此</span><span class="link-link"><img class="link-link-icon" src="http://img.e-com-net.com/image/info8/20cf6475f3a748749177a8d323f1e65c.jpg" alt="icon-default.png?t=N7T8" width="0" height="0">https://blog.csdn.net/qiqi_liuliu/article/details/131611766?spm=1001.2014.3001.5502</span></span>3. JDBC 连接数据库的常用方式有哪些?</p> <blockquote> <ol> <li> <p><strong>使用DriverManager</strong>:通过<code>DriverManager</code>类来获取数据库连接,使用数据库厂商提供的JDBC驱动程序来连接数据库。</p> </li> <li> <p><strong>使用DataSource</strong>:通过<code>DataSource</code>接口来获取数据库连接,这种方式通常用于连接池的管理,可以提高数据库连接的复用性和性能。</p> </li> <li> <p><strong>使用连接池</strong>:使用第三方连接池库,如Apache Commons DBCP、C3P0、HikariCP等,通过配置连接池参数来管理数据库连接,提高连接的复用性和性能。</p> </li> <li> <p><strong>使用框架</strong>:使用一些ORM(对象关系映射)框架,如Hibernate、MyBatis等,这些框架提供了自己的数据库连接管理机制。</p> </li> </ol> </blockquote> <p>4. 下列选项中,()不是JDBC 的工作任务。</p> <p>A. 与数据库建立连接<br> B. 操作数据库,处理数据库返回的结果<br> C. <strong>在网页中生成表格</strong><br> D. 向数据库管理系统发送SQL 语句</p> <p>5. 在JDBC中,()接口不能被 Connection 创建。</p> <p>A. Statement<br> B. PreparedStatement<br> C. CallableStatement<br> D. <strong>RowsetStatement</strong></p> <p>6. 查询结果集 ResultSet 对象是以统一的行列形式组织数据的,执行“ResultSet rs=stmt.executeQuery (“'select bid,name,author,publish,price from book”);”语句,得到的结果集rs 的列数为()。</p> <p>A. 4<br> B. <strong>5</strong><br> С. 6<br> D. 不确定</p> <p>7. 给出了如下的查询条件字符串 “String condition="insert book values(?,?,?,?,?)";”,()接口适合执行该 SQL 查询。</p> <p>A. Statement<br> C. CallableStatement<br> B. <strong>PreparedStatement</strong><br> D. 不确定</p> <h2>第12章 Ajax、JSON以及jQuery 技术</h2> <p>1. XMLHttpRequest 对象有()个返回状态值。</p> <p>A. 3<br> B. 4<br> С. <strong>5</strong><br> D. 6</p> <p>2. 对象 XMLHttpRequest 的属性 readyState值()表示异步访问服务器通信已经完成。</p> <p>A. 1<br> B. 2<br> С. 3<br> D. <strong>4</strong></p> <h2>第13章 电子商务平台的设计与实现</h2> <p>无</p> <h2>第14章 Struts 2 框架基础</h2> <p>1. result 的类型 redirectAction 表示()。</p> <p>A. 处理 action 链,跳转到下一个 action<br> B. 转发到一个 JSP<br> C. <strong>重定向到一个 action</strong><br> D. 重定向到一个 JSP</p> <p>2. result 的类型 redirect 表示()。</p> <p>A. 处理 action 链,跳转到下一个 action<br> B. 转发到一个 JSP<br> C. <strong>重定向到一个 action 或一个JSP</strong><br> D. 重定向到一个 JSP</p> <p>3. Struts 2 的默认配置文件是()。</p> <p>A. xeb.xml<br> B. <strong>struts.xml</strong><br> C. user.ml<br> D. server.xml</p> <p>4. 某 action 的配置如下:</p> <pre><code class="language-html"><action name="hello" class="action.HelloAction"> <result name="error">/error.jsp</result> </ action></code></pre> <p>当执行该action 时会调用对应类中的()方法。</p> <p>A. <strong>execute()</strong><br> B. doPost()<br> C. doGet()<br> D. service()</p> <p>5. 在 Struts2的 Web 应用 hello 中 struts.xml的配置如下:</p> <pre><code class="language-html"><package name="user" extends="struts-default" namespace="/my"> <action name="hello" class="action.HelloAction"> <result>/ success.jsp</result> </action> </package></code></pre> <p>需要访问该 action 时,输入的 URL 地址是(</p> <p>A. http://localhost:8080/hello/user/hello.action<br> B. http:/localhost:8080/hello/my/hello.jsp<br> C. <strong>http://localhost:8080/hello/my/hello.action</strong><br> D. http://localhost:8080/hello/user/hello.jsp</p> <p>6. result 的类型 dispatcher 表示()。</p> <p>A. 处理 action 链,跳转到下一个 action<br> B. <strong>转发到一个 JSP</strong><br> C. 重定向到一个 action<br> D. 重定向到一个 JSP</p> <p>7. 某 action 的配置如下:</p> <pre><code class="language-html">​​​​​​​<action name="hello" class="action.HelloAction"> <result>/main.jsp</result> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> <result name="input">/login.jsp</result> </action></code></pre> <p>调用该 action 后返回值是"success”,则显示的页面是()。</p> <p>A. main.jsp<br> B. <strong>success.jsp</strong><br> C. error.jsp<br> D. login.jsp</p> <p>8. 某 action 的配置如下:</p> <pre><code class="language-html"><action name="hello"> <result >/success.jsp</result> </action></code></pre> <p>访问该 action 时会调用()类。<br> A.  Action<br> B.  ActionSupport<br> C. <strong>HelloAction</strong><br> D. UserAction</p> <p>9. 某action 的配置如下:</p> <pre><code class="language-html"><action name="hello" class="action.HelloAction" method="update"> <result>/success.jsp</result> </action></code></pre> <p>访问该 action 时会执行 HelloAction 类中的()方法。</p> <p>A. execute<br> B. delete<br> C. select<br> D. <strong>update</strong></p> <p>10. 在 Struts 2的 Action 类中访问 Servlet API 有哪几种方法?其中与 HttpServlet 耦合的方法是哪几种?</p> <blockquote> <ol> <li> <p><strong>实现 ServletRequestAware 接口</strong>:通过实现 ServletRequestAware 接口,可以在Action类中获取HttpServletRequest对象。</p> </li> <li> <p><strong>实现 ServletResponseAware 接口</strong>:通过实现 ServletResponseAware 接口,可以在Action类中获取HttpServletResponse对象。</p> </li> <li> <p><strong>实现 ServletContextAware 接口</strong>:通过实现 ServletContextAware 接口,可以在Action类中获取ServletContext对象。</p> </li> <li> <p><strong>使用ServletActionContext类</strong>:ServletActionContext类提供了一些静态方法,可以方便地获取HttpServletRequest、HttpServletResponse等对象。</p> </li> </ol> <p>与HttpServlet耦合的方法通常是指直接依赖于HttpServlet的方法,这些方法通常是通过实现特定的接口或者继承特定的类来实现的。在Struts 2中,与HttpServlet耦合的方法包括:</p> <ul> <li>实现<code>ServletRequestAware</code>接口</li> <li>实现<code>ServletResponseAware</code>接口</li> <li>使用<code>ServletActionContext</code>类</li> </ul> </blockquote> <p>11. 结果类型redirect 与 redirectAction 的区别是什么?</p> <blockquote> <ol> <li> <p><strong>result类型redirect</strong>:</p> <ul> <li>当一个action执行完毕后,如果result类型为redirect,它会发送一个HTTP重定向到指定的URL。这意味着浏览器会收到一个302状态码,并重新请求指定的URL。</li> <li>适用于需要将用户重定向到另一个页面,例如在表单提交后重定向到一个结果页面。</li> </ul></li> <li> <p><strong>redirectAction</strong>:</p> <ul> <li><code>redirectAction</code>是一个特殊的result类型,它允许在执行完当前action后,重定向到另一个action。</li> <li>适用于需要在action执行后立即重定向到另一个action,而不经过任何JSP页面的情况。</li> </ul></li> </ol> </blockquote> <p>12. 在 Action 中接收请求参数有哪几种方式?你认为哪种方式比较方便?</p> <blockquote> <ol> <li> <p><strong>使用属性</strong>:在Action类中定义与请求参数同名的属性,并提供对应的setter方法,Struts 2会自动将请求参数的值注入到属性中。</p> </li> <li> <p><strong>实现 ParameterAware 接口</strong>:通过实现ParameterAware接口,可以在Action类中获取请求参数的Map。</p> </li> <li> <p><strong>使用属性驱动</strong>:通过在Action类中定义属性,并提供对应的setter方法,Struts 2会自动将请求参数的值注入到属性中,这种方式通常称为属性驱动。</p> </li> <li> <p><strong>使用模型驱动</strong>:通过实现ModelDriven接口,可以在Action类中使用一个模型对象来接收请求参数。</p> </li> <li> <p><strong>使用Servlet API</strong>:通过在Action类中获取HttpServletRequest对象,可以直接从请求中获取参数。</p> </li> </ol> </blockquote> <h2>第15章 Spring MVC 框架基础</h2> <p>1. 在开发 Spring MVC 应用时,如何部署 DispatcherServlet?又如何创建 Spring MVC的配置文件?</p> <blockquote> <p>部署DispatcherServlet:</p> <p>在web.xml中配置DispatcherServlet:</p> <pre><code class="language-html"><servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></code></pre> <p>创建Spring MVC的配置文件:</p> <p>2. 创建Spring MVC的配置文件(spring-mvc-servlet.xml),用于配置Spring MVC相关的内容,例如控制器、视图解析器、拦截器等。</p> <pre><code class="language-html"><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置控制器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> <!-- 配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 其他配置,如拦截器等 --> </beans></code></pre> </blockquote> <p>2. 简述 Spring MVC 的工作流程。</p> <blockquote> <ol> <li> <p><strong>客户端发送请求</strong>:客户端(如浏览器)发送HTTP请求到服务器。</p> </li> <li> <p><strong>DispatcherServlet接收请求</strong>:请求首先被DispatcherServlet接收,DispatcherServlet是Spring MVC中的核心控制器,它作为前端控制器负责统一请求的分发和处理。</p> </li> <li> <p><strong>HandlerMapping选择处理器</strong>:DispatcherServlet通过HandlerMapping来确定请求对应的处理器(Controller),HandlerMapping会根据请求的URL或其他条件来选择合适的处理器。</p> </li> <li> <p><strong>处理器执行</strong>:被选定的处理器(Controller)执行请求处理逻辑,处理器会根据请求的参数和业务逻辑来处理请求,并生成相应的数据模型(Model)。</p> </li> <li> <p><strong>ModelAndView创建</strong>:处理器将处理结果封装到ModelAndView对象中,该对象包含了视图名称和模型数据。</p> </li> <li> <p><strong>ViewResolver解析视图</strong>:DispatcherServlet使用ViewResolver来将逻辑视图名称解析为具体的视图对象。</p> </li> <li> <p><strong>视图渲染</strong>:视图对象负责将模型数据渲染为最终的输出,通常是HTML、JSON等格式的响应。</p> </li> <li> <p><strong>响应返回客户端</strong>:渲染后的视图结果会作为HTTP响应返回给客户端,客户端可以看到最终的处理结果。</p> </li> </ol> </blockquote> <p>3. 举例说明数据绑定的优点。</p> <blockquote> <ol> <li> <p><strong>简化开发</strong>:数据绑定可以减少开发人员编写的代码量。通过自动绑定用户输入到数据模型,开发人员无需手动编写大量的数据接收和验证逻辑。</p> </li> <li> <p><strong>减少重复代码</strong>:数据绑定可以减少重复的代码,例如在不同的表单中使用相同的数据模型,避免了重复编写数据接收和处理的代码。</p> </li> <li> <p><strong>提高代码可读性</strong>:使用数据绑定可以使代码更加清晰和易于理解。通过直接绑定到数据模型,可以清楚地了解数据的来源和如何被使用。</p> </li> <li> <p><strong>减少错误</strong>:手动处理用户输入数据可能会导致错误,例如类型转换错误、空指针异常等。数据绑定可以减少这些潜在的错误,提高应用程序的稳定性。</p> </li> <li> <p><strong>提高用户体验</strong>:数据绑定可以使用户在填写表单时更加便捷,减少了用户输入的复杂性,提高了用户体验。</p> </li> </ol> </blockquote> <p>4. Spring MVC 有哪些表单标签?其中,可以绑定集合数据的标签有哪些?</p> <blockquote> <ol> <li> <p><strong>表单标签</strong>:</p> <ul> <li><code><form:form></code>:用于创建表单,并将表单数据绑定到控制器的命令对象。</li> <li><code><form:input></code>:用于创建文本输入框。</li> <li><code><form:textarea></code>:用于创建文本域。</li> <li><code><form:password></code>:用于创建密码输入框。</li> <li><code><form:checkbox></code>:用于创建复选框。</li> <li><code><form:select></code>:用于创建下拉列表。</li> <li><code><form:radiobutton></code>:用于创建单选按钮。</li> <li><code><form:hidden></code>:用于创建隐藏字段。</li> </ul></li> <li> <p><strong>可以绑定集合数据的标签</strong>:</p> <ul> <li><code><form:select></code>:可以绑定一个集合或Map类型的数据到下拉列表。</li> <li><code><form:radiobuttons></code>:可以绑定一个集合或Map类型的数据到单选按钮组。</li> <li><code><form:checkboxes></code>:可以绑定一个集合或Map类型的数据到复选框组。</li> </ul></li> </ol> </blockquote> <p>5.@ModelAttribute 可实现哪些功能?</p> <blockquote> <ol> <li> <p><strong>数据预处理</strong>:<code>@ModelAttribute</code> 注解可以用于在请求处理方法执行之前,对数据进行预处理或初始化。通过在方法上标记 <code>@ModelAttribute</code> 注解,可以在每次请求到达处理方法之前执行该方法,从而准备数据供处理方法使用。</p> </li> <li> <p><strong>数据绑定</strong>:<code>@ModelAttribute</code> 注解可以用于将数据绑定到模型中。当一个请求处理方法返回一个对象时,Spring MVC会自动将该对象添加到模型中,如果在方法参数上使用 <code>@ModelAttribute</code> 注解,也可以将数据绑定到指定的对象中。</p> </li> <li> <p><strong>表单数据绑定</strong>:<code>@ModelAttribute</code> 注解可以用于将表单数据绑定到对象中。当处理包含表单数据的请求时,可以使用 <code>@ModelAttribute</code> 注解将表单数据直接绑定到对象的属性中,简化数据绑定的过程。</p> </li> <li> <p><strong>全局数据传递</strong>:<code>@ModelAttribute</code> 注解可以用于在多个请求处理方法中共享数据。通过在控制器类中定义一个带有 <code>@ModelAttribute</code> 注解的方法,可以在该控制器中的所有请求处理方法中共享该方法返回的数据。</p> </li> <li> <p><strong>初始化表单数据</strong>:<code>@ModelAttribute</code> 注解可以用于在表单页面初始化时提供数据。通过在控制器中定义一个带有 <code>@ModelAttribute</code> 注解的方法,可以在表单页面初始化时将数据传递给表单。</p> </li> </ol> </blockquote> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1747156178435063808"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Web,Web,期末复习,学习)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835514464028422144.htm" title="情绪觉察日记第37天" target="_blank">情绪觉察日记第37天</a> <span class="text-muted">露露_e800</span> <div>今天是家庭关系规划师的第二阶最后一天,慧萍老师帮我做了个案,帮我处理了埋在心底好多年的一份恐惧,并给了我深深的力量!这几天出来学习,爸妈过来婆家帮我带小孩,妈妈出于爱帮我收拾东西,并跟我先生和婆婆产生矛盾,妈妈觉得他们没有照顾好我…。今晚回家见到妈妈,我很欣赏她并赞扬她,妈妈说今晚要跟我睡我说好,当我们俩躺在床上准备睡觉的时候,我握着妈妈的手对她说:妈妈这几天辛苦你了,你看你多利害把我们的家收拾得</div> </li> <li><a href="/article/1835513803861749760.htm" title="机器学习与深度学习间关系与区别" target="_blank">机器学习与深度学习间关系与区别</a> <span class="text-muted">ℒℴѵℯ心·动ꦿ໊ོ꫞</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>一、机器学习概述定义机器学习(MachineLearning,ML)是一种通过数据驱动的方法,利用统计学和计算算法来训练模型,使计算机能够从数据中学习并自动进行预测或决策。机器学习通过分析大量数据样本,识别其中的模式和规律,从而对新的数据进行判断。其核心在于通过训练过程,让模型不断优化和提升其预测准确性。主要类型1.监督学习(SupervisedLearning)监督学习是指在训练数据集中包含输入</div> </li> <li><a href="/article/1835513701143244800.htm" title="铭刻于星(四十二)" target="_blank">铭刻于星(四十二)</a> <span class="text-muted">随风至</span> <div>69夜晚,绍敏同学做完功课后,看了眼房外,没听到动静才敢从书包的夹层里拿出那个心形纸团。折痕压得很深,都有些旧了,想来是已经写好很久了。绍敏同学慢慢地、轻轻地捏开折叠处,待到全部拆开后,又反复抚平纸张,然后仔细地一字字默看。只是开头的三个字是第一次看到,让她心漏跳了几拍。“亲爱的绍敏:从四年级的时候,我就喜欢你了,但是我一直不敢说,怕影响你学习。六年级的时候听说有人跟你表白,你接受了,我很难过,但</div> </li> <li><a href="/article/1835513424734416896.htm" title="UI学习——cell的复用和自定义cell" target="_blank">UI学习——cell的复用和自定义cell</a> <span class="text-muted">Magnetic_h</span> <a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>目录cell的复用手动(非注册)自动(注册)自定义cellcell的复用在iOS开发中,单元格复用是一种提高表格(UITableView)和集合视图(UICollectionView)滚动性能的技术。当一个UITableViewCell或UICollectionViewCell首次需要显示时,如果没有可复用的单元格,则视图会创建一个新的单元格。一旦这个单元格滚动出屏幕,它就不会被销毁。相反,它被添</div> </li> <li><a href="/article/1835511912843014144.htm" title="理解Gunicorn:Python WSGI服务器的基石" target="_blank">理解Gunicorn:Python WSGI服务器的基石</a> <span class="text-muted">范范0825</span> <a class="tag" taget="_blank" href="/search/ipython/1.htm">ipython</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>理解Gunicorn:PythonWSGI服务器的基石介绍Gunicorn,全称GreenUnicorn,是一个为PythonWSGI(WebServerGatewayInterface)应用设计的高效、轻量级HTTP服务器。作为PythonWeb应用部署的常用工具,Gunicorn以其高性能和易用性著称。本文将介绍Gunicorn的基本概念、安装和配置,帮助初学者快速上手。1.什么是Gunico</div> </li> <li><a href="/article/1835511542284644352.htm" title="学点心理知识,呵护孩子健康" target="_blank">学点心理知识,呵护孩子健康</a> <span class="text-muted">静候花开_7090</span> <div>昨天听了华中师范大学教育管理学系副教授张玲老师的《哪里才是学生心理健康的最后庇护所,超越教育与技术的思考》的讲座。今天又重新学习了一遍,收获匪浅。张玲博士也注意到了当今社会上的孩子由于心理问题导致的自残、自杀及伤害他人等恶性事件。她向我们普及了一个重要的命题,她说心理健康的一些基本命题,我们与我们通常的一些教育命题是不同的,她还举了几个例子,让我们明白我们原来以为的健康并非心理学上的健康。比如如果</div> </li> <li><a href="/article/1835508131032035328.htm" title="ArcGIS栅格计算器常见公式(赋值、0和空值的转换、补充栅格空值)" target="_blank">ArcGIS栅格计算器常见公式(赋值、0和空值的转换、补充栅格空值)</a> <span class="text-muted">研学随笔</span> <a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>我们在使用ArcGIS时通常经常用到栅格计算器,今天主要给大家介绍我日常中经常用到的几个公式,供大家参考学习。将特定值(-9999)赋值为0,例如-9999.Con("raster"==-9999,0,"raster")2.给空值赋予特定的值(如0)Con(IsNull("raster"),0,"raster")3.将特定的栅格值(如1)赋值为空值,其他保留原值SetNull("raster"==</div> </li> <li><a href="/article/1835507248395284480.htm" title="【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数" target="_blank">【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数</a> <span class="text-muted">广龙宇</span> <a class="tag" taget="_blank" href="/search/%E4%B8%80%E8%B5%B7%E5%AD%A6Rust/1.htm">一起学Rust</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Rust%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">Rust设计模式</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、使用借用类型作为参数二、格式化拼接字符串三、使用构造函数总结前言Rust不是传统的面向对象编程语言,它的所有特性,使其独一无二。因此,学习特定于Rust的设计模式是必要的。本系列文章为作者学习《Rust设计模式》的学习笔记以及自己的见解。因此,本系列文章的结构也与此书的结构相同(后续可能会调成结构),基本上分为三个部分</div> </li> <li><a href="/article/1835506996258893824.htm" title="回溯 Leetcode 332 重新安排行程" target="_blank">回溯 Leetcode 332 重新安排行程</a> <span class="text-muted">mmaerd</span> <a class="tag" taget="_blank" href="/search/Leetcode%E5%88%B7%E9%A2%98%E5%AD%A6%E4%B9%A0%E8%AE%B0%E5%BD%95/1.htm">Leetcode刷题学习记录</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>重新安排行程Leetcode332学习记录自代码随想录给你一份航线列表tickets,其中tickets[i]=[fromi,toi]表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。所有这些机票都属于一个从JFK(肯尼迪国际机场)出发的先生,所以该行程必须从JFK开始。如果存在多种有效的行程,请你按字典排序返回最小的行程组合。例如,行程[“JFK”,“LGA”]与[“JFK”,“LGB</div> </li> <li><a href="/article/1835506869838376960.htm" title="Python数据分析与可视化实战指南" target="_blank">Python数据分析与可视化实战指南</a> <span class="text-muted">William数据分析</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE/1.htm">数据</a> <div>在数据驱动的时代,Python因其简洁的语法、强大的库生态系统以及活跃的社区,成为了数据分析与可视化的首选语言。本文将通过一个详细的案例,带领大家学习如何使用Python进行数据分析,并通过可视化来直观呈现分析结果。一、环境准备1.1安装必要库在开始数据分析和可视化之前,我们需要安装一些常用的库。主要包括pandas、numpy、matplotlib和seaborn等。这些库分别用于数据处理、数学</div> </li> <li><a href="/article/1835504817905168384.htm" title="2019-12-22-22:30" target="_blank">2019-12-22-22:30</a> <span class="text-muted">涓涓1016</span> <div>今天是冬至,写下我的日更,是因为这两天的学习真的是能量的满满,让我看到了自己,未来另外一种可能性,也让我看到了这两年这几年的过程中我所接受那些痛苦的来源。一切的根源和痛苦都来自于人生,家庭,而你的原生家庭,你的爸爸和妈妈,是因为你这个灵魂在那一刻选择他们作为你的爸爸和妈妈来的,所以你得接受他,你得接纳他,他就是因为他的存在而给你的学习和成长带来这些痛苦,那其实是你必然要经历的这个过程,当你去接纳的</div> </li> <li><a href="/article/1835504218178416640.htm" title="Google earth studio 简介" target="_blank">Google earth studio 简介</a> <span class="text-muted">陟彼高冈yu</span> <a class="tag" taget="_blank" href="/search/%E6%97%85%E6%B8%B8/1.htm">旅游</a> <div>GoogleEarthStudio是一个基于Web的动画工具,专为创作使用GoogleEarth数据的动画和视频而设计。它利用了GoogleEarth强大的三维地图和卫星影像数据库,使用户能够轻松地创建逼真的地球动画、航拍视频和动态地图可视化。网址为https://www.google.com/earth/studio/。GoogleEarthStudio是一个基于Web的动画工具,专为创作使用G</div> </li> <li><a href="/article/1835502704827396096.htm" title="将cmd中命令输出保存为txt文本文件" target="_blank">将cmd中命令输出保存为txt文本文件</a> <span class="text-muted">落难Coder</span> <a class="tag" taget="_blank" href="/search/Windows/1.htm">Windows</a><a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a><a class="tag" taget="_blank" href="/search/window/1.htm">window</a> <div>最近深度学习本地的训练中我们常常要在命令行中运行自己的代码,无可厚非,我们有必要保存我们的炼丹结果,但是复制命令行输出到txt是非常麻烦的,其实Windows下的命令行为我们提供了相应的操作。其基本的调用格式就是:运行指令>输出到的文件名称或者具体保存路径测试下,我打开cmd并且ping一下百度:pingwww.baidu.com>./data.txt看下相同目录下data.txt的输出:如果你再</div> </li> <li><a href="/article/1835502578050363392.htm" title="PHP环境搭建详细教程" target="_blank">PHP环境搭建详细教程</a> <span class="text-muted">好看资源平台</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>PHP是一个流行的服务器端脚本语言,广泛用于Web开发。为了使PHP能够在本地或服务器上运行,我们需要搭建一个合适的PHP环境。本教程将结合最新资料,介绍在不同操作系统上搭建PHP开发环境的多种方法,包括Windows、macOS和Linux系统的安装步骤,以及本地和Docker环境的配置。1.PHP环境搭建概述PHP环境的搭建主要分为以下几类:集成开发环境:例如XAMPP、WAMP、MAMP,这</div> </li> <li><a href="/article/1835499615491813376.htm" title="四章-32-点要素的聚合" target="_blank">四章-32-点要素的聚合</a> <span class="text-muted">彩云飘过</span> <div>本文基于腾讯课堂老胡的课《跟我学Openlayers--基础实例详解》做的学习笔记,使用的openlayers5.3.xapi。源码见1032.html,对应的官网示例https://openlayers.org/en/latest/examples/cluster.htmlhttps://openlayers.org/en/latest/examples/earthquake-clusters.</div> </li> <li><a href="/article/1835498925755297792.htm" title="DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理" target="_blank">DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理</a> <span class="text-muted">STU学生网页设计</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1/1.htm">网页设计</a><a class="tag" taget="_blank" href="/search/%E6%9C%9F%E6%9C%AB%E7%BD%91%E9%A1%B5%E4%BD%9C%E4%B8%9A/1.htm">期末网页作业</a><a class="tag" taget="_blank" href="/search/html%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5/1.htm">html静态网页</a><a class="tag" taget="_blank" href="/search/html5%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">html5期末大作业</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1/1.htm">网页设计</a><a class="tag" taget="_blank" href="/search/web%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">web大作业</a> <div>️精彩专栏推荐作者主页:【进入主页—获取更多源码】web前端期末大作业:【HTML5网页期末作业(1000套)】程序员有趣的告白方式:【HTML七夕情人节表白网页制作(110套)】文章目录二、网站介绍三、网站效果▶️1.视频演示2.图片演示四、网站代码HTML结构代码CSS样式代码五、更多源码二、网站介绍网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程</div> </li> <li><a href="/article/1835496402042580992.htm" title="GitHub上克隆项目" target="_blank">GitHub上克隆项目</a> <span class="text-muted">bigbig猩猩</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>从GitHub上克隆项目是一个简单且直接的过程,它允许你将远程仓库中的项目复制到你的本地计算机上,以便进行进一步的开发、测试或学习。以下是一个详细的步骤指南,帮助你从GitHub上克隆项目。一、准备工作1.安装Git在克隆GitHub项目之前,你需要在你的计算机上安装Git工具。Git是一个开源的分布式版本控制系统,用于跟踪和管理代码变更。你可以从Git的官方网站(https://git-scm.</div> </li> <li><a href="/article/1835496149843275776.htm" title="关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript" target="_blank">关于城市旅游的HTML网页设计——(旅游风景云南 5页)HTML+CSS+JavaScript</a> <span class="text-muted">二挡起步</span> <a class="tag" taget="_blank" href="/search/web%E5%89%8D%E7%AB%AF%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">web前端期末大作业</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%97%85%E6%B8%B8/1.htm">旅游</a><a class="tag" taget="_blank" href="/search/%E9%A3%8E%E6%99%AF/1.htm">风景</a> <div>⛵源码获取文末联系✈Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业|游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作|HTML期末大学生网页设计作业,Web大学生网页HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScrip</div> </li> <li><a href="/article/1835496148601761792.htm" title="HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动" target="_blank">HTML网页设计制作大作业(div+css) 云南我的家乡旅游景点 带文字滚动</a> <span class="text-muted">二挡起步</span> <a class="tag" taget="_blank" href="/search/web%E5%89%8D%E7%AB%AF%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">web前端期末大作业</a><a class="tag" taget="_blank" href="/search/web%E8%AE%BE%E8%AE%A1%E7%BD%91%E9%A1%B5%E8%A7%84%E5%88%92%E4%B8%8E%E8%AE%BE%E8%AE%A1/1.htm">web设计网页规划与设计</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/dreamweaver/1.htm">dreamweaver</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>Web前端开发技术描述网页设计题材,DIV+CSS布局制作,HTML+CSS网页设计期末课程大作业游景点介绍|旅游风景区|家乡介绍|等网站的设计与制作HTML期末大学生网页设计作业HTML:结构CSS:样式在操作方面上运用了html5和css3,采用了div+css结构、表单、超链接、浮动、绝对定位、相对定位、字体样式、引用视频等基础知识JavaScript:做与用户的交互行为文章目录前端学习路线</div> </li> <li><a href="/article/1835495644123459584.htm" title="Day1笔记-Python简介&标识符和关键字&输入输出" target="_blank">Day1笔记-Python简介&标识符和关键字&输入输出</a> <span class="text-muted">~在杰难逃~</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a> <div>大家好,从今天开始呢,杰哥开展一个新的专栏,当然,数据分析部分也会不定时更新的,这个新的专栏主要是讲解一些Python的基础语法和知识,帮助0基础的小伙伴入门和学习Python,感兴趣的小伙伴可以开始认真学习啦!一、Python简介【了解】1.计算机工作原理编程语言就是用来定义计算机程序的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作,编程</div> </li> <li><a href="/article/1835495170972413952.htm" title="git - Webhook让部署自动化" target="_blank">git - Webhook让部署自动化</a> <span class="text-muted">大猪大猪</span> <div>我们现在有一个需求,将项目打包上传到gitlab或者github后,程序能自动部署,不用手动地去服务器中进行项目更新并运行,如何做到?这里我们可以使用gitlab与github的挂钩,挂钩的原理就是,每当我们有请求到gitlab与github服务器时,这时他俩会根据我们配置的挂钩地扯进行访问,webhook挂钩程序会一直监听着某个端口请求,一但收到他们发过来的请求,这时就知道用户有请求提交了,这时</div> </li> <li><a href="/article/1835494131535802368.htm" title="人工智能时代,程序员如何保持核心竞争力?" target="_blank">人工智能时代,程序员如何保持核心竞争力?</a> <span class="text-muted">jmoych</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>随着AIGC(如chatgpt、midjourney、claude等)大语言模型接二连三的涌现,AI辅助编程工具日益普及,程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作,也有人认为AI是提高效率的得力助手。面对这一趋势,程序员应该如何应对?是专注于某个领域深耕细作,还是广泛学习以适应快速变化的技术环境?又或者,我们是否应该将重点转向AI无法轻易替代的软技能?让我们一起探讨程序员</div> </li> <li><a href="/article/1835493267907637248.htm" title="webpack图片等资源的处理" target="_blank">webpack图片等资源的处理</a> <span class="text-muted">dmengmeng</span> <div>需要的loaderfile-loader(让我们可以引入这些资源文件)url-loader(其实是file-loader的二次封装)img-loader(处理图片所需要的)在没有使用任何处理图片的loader之前,比如说css中用到了背景图片,那么最后打包会报错的,因为他没办法处理图片。其实你只想能够使用图片的话。只加一个file-loader就可以,打开网页能准确看到图片。{test:/\.(p</div> </li> <li><a href="/article/1835492740536823808.htm" title="node.js学习" target="_blank">node.js学习</a> <span class="text-muted">小猿L</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a> <div>node.js学习实操及笔记温故node.js,node.js学习实操过程及笔记~node.js学习视频node.js官网node.js中文网实操笔记githubcsdn笔记为什么学node.js可以让别人访问我们编写的网页为后续的框架学习打下基础,三大框架vuereactangular离不开node.jsnode.js是什么官网:node.js是一个开源的、跨平台的运行JavaScript的运行</div> </li> <li><a href="/article/1835492372952215552.htm" title="阶段总结反思" target="_blank">阶段总结反思</a> <span class="text-muted">轻争</span> <div>马上就要进入10月份了,今天做一下前段时间的总结和反思。前段时间,日更、英语、健身、护肤坚持的比较好。阅读、书法坚持的不好。1.中间被迫停更半个多月,其余时间一直在坚持日更挑战。偶尔也有不想写的时候,就做一下摘抄。因为阅读(输入)没跟上来,所以写作(输出)质量有待进一步加强。2.英语做到了一周至少学习5天,每次不少于30分钟,但是小班课没有跟上更新速度,下一步要争取利用零碎时间补听小班课。3.减肥</div> </li> <li><a href="/article/1835489587498151936.htm" title="ARM驱动学习之基础小知识" target="_blank">ARM驱动学习之基础小知识</a> <span class="text-muted">JT灬新一</span> <a class="tag" taget="_blank" href="/search/ARM/1.htm">ARM</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>ARM驱动学习之基础小知识•sch原理图工程师工作内容–方案–元器件选型–采购(能不能买到,价格)–原理图(涉及到稳定性)•layout画板工程师–layout(封装、布局,布线,log)(涉及到稳定性)–焊接的一部分工作(调试阶段板子的焊接)•驱动工程师–驱动,原理图,layout三部分的交集容易发生矛盾•PCB研发流程介绍–方案,原理图(网表)–layout工程师(gerber文件)–PCB板</div> </li> <li><a href="/article/1835489588169240576.htm" title="ARM驱动学习之5 LEDS驱动" target="_blank">ARM驱动学习之5 LEDS驱动</a> <span class="text-muted">JT灬新一</span> <a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/%E5%BA%95%E5%B1%82/1.htm">底层</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a> <div>ARM驱动学习之5LEDS驱动知识点:•linuxGPIO申请函数和赋值函数–gpio_request–gpio_set_value•三星平台配置GPIO函数–s3c_gpio_cfgpin•GPIO配置输出模式的宏变量–S3C_GPIO_OUTPUT注意点:DRIVER_NAME和DEVICE_NAME匹配。实现步骤:1.加入需要的头文件://Linux平台的gpio头文件#include//三</div> </li> <li><a href="/article/1835489586684456960.htm" title="ARM驱动学习之4小结" target="_blank">ARM驱动学习之4小结</a> <span class="text-muted">JT灬新一</span> <a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>ARM驱动学习之4小结#include#include#include#include#include#defineDEVICE_NAME"hello_ctl123"MODULE_LICENSE("DualBSD/GPL");MODULE_AUTHOR("TOPEET");staticlonghello_ioctl(structfile*file,unsignedintcmd,unsignedlo</div> </li> <li><a href="/article/1835489566702792704.htm" title="展现思维导图魅力,不断挖掘人生宝藏" target="_blank">展现思维导图魅力,不断挖掘人生宝藏</a> <span class="text-muted">思维导图讲师Mandy</span> <div>第13期最强思维导图训练营已经结束一周了,但是我依旧是感觉所有学员还在努力的学习,这些学员中有教师、学生、白领、公务员、宝妈等等,只要你努力,只要你想改变自己,任何行业,任何岗位都可以参与进来,28天足以让你见成效,在这28天中,我们的学员不仅仅是收获了一枚毕业证,最重要的是让自己的思维方式得到升级,今天的你为自己投资,明天的你就会感谢你今天的付出,我们来听一听来自13期最强思维导图训练营优秀学员</div> </li> <li><a href="/article/1835488930972135424.htm" title="2019-3-23晨间日记" target="_blank">2019-3-23晨间日记</a> <span class="text-muted">红红火火小耳朵</span> <div>今天是什么日子起床:7点40就寝:23点半天气:有太阳,不过一会儿出来一会儿进去特别清爽的凉意,还蛮舒服的心情:小激动要给女朋友过生日啦纪念日:田田女士过生日任务清单昨日完成的任务,最重要的三件事:1.英语一对一2.运动计划3.认真护肤习惯养成:调整状态周目标·完成进度英语七天打卡(5/7)轻课阅读(87/180)音标课(25/30)读书(福尔摩斯一章)学习·信息·阅读#英语课#Cookingte</div> </li> <li><a href="/article/122.htm" title="java数字签名三种方式" target="_blank">java数字签名三种方式</a> <span class="text-muted">知了ing</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a> <div>以下3钟数字签名都是基于jdk7的 1,RSA String password="test"; // 1.初始化密钥 KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(51</div> </li> <li><a href="/article/249.htm" title="Hibernate学习笔记" target="_blank">Hibernate学习笔记</a> <span class="text-muted">caoyong</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King 2>、搭建Hibernate的开发环境      a>、添加jar包:      aa>、hibernatte开发包中/lib/required/所</div> </li> <li><a href="/article/376.htm" title="设计模式之装饰器模式Decorator(结构型)" target="_blank">设计模式之装饰器模式Decorator(结构型)</a> <span class="text-muted">漂泊一剑客</span> <a class="tag" taget="_blank" href="/search/Decorator/1.htm">Decorator</a> <div>1. 概述        若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。       </div> </li> <li><a href="/article/503.htm" title="读取磁盘文件txt,并输入String" target="_blank">读取磁盘文件txt,并输入String</a> <span class="text-muted">一炮送你回车库</span> <a class="tag" taget="_blank" href="/search/String/1.htm">String</a> <div>public static void main(String[] args) throws IOException {    String fileContent = readFileContent("d:/aaa.txt");    System.out.println(fileContent);    </div> </li> <li><a href="/article/630.htm" title="js三级联动下拉框" target="_blank">js三级联动下拉框</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/%E4%B8%89%E7%BA%A7%E8%81%94%E5%8A%A8/1.htm">三级联动</a> <div> //三级联动 省/直辖市<select id="province"></select> 市/省直辖<select id="city"></select> 县/区 <select id="area"></select> </div> </li> <li><a href="/article/757.htm" title="erlang之parse_transform编译选项的应用" target="_blank">erlang之parse_transform编译选项的应用</a> <span class="text-muted">616050468</span> <a class="tag" taget="_blank" href="/search/parse_transform/1.htm">parse_transform</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">游戏服务器</a><a class="tag" taget="_blank" href="/search/%E5%B1%9E%E6%80%A7%E5%90%8C%E6%AD%A5/1.htm">属性同步</a><a class="tag" taget="_blank" href="/search/abstract_code/1.htm">abstract_code</a> <div>         最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少</div> </li> <li><a href="/article/884.htm" title="JAVA JSON的解析" target="_blank">JAVA JSON的解析</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> // { // “Total”:“条数”, // Code: 1, // // “PaymentItems”:[ // { // “PaymentItemID”:”支款单ID”, // “PaymentCode”:”支款单编号”, // “PaymentTime”:”支款日期”, // ”ContractNo”:”合同号”, // </div> </li> <li><a href="/article/1011.htm" title="POJ-1273-Drainage Ditches" target="_blank">POJ-1273-Drainage Ditches</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/ACM_POJ/1.htm">ACM_POJ</a> <div>POJ-1273-Drainage Ditches http://poj.org/problem?id=1273 基本的最大流,按LRJ的白书写的 #include<iostream> #include<cstring> #include<queue> using namespace std; #define INF 0x7fffffff int ma</div> </li> <li><a href="/article/1138.htm" title="工作流Activiti5表的命名及含义" target="_blank">工作流Activiti5表的命名及含义</a> <span class="text-muted">atongyeye</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C%E6%B5%81/1.htm">工作流</a><a class="tag" taget="_blank" href="/search/Activiti/1.htm">Activiti</a> <div>activiti5 - http://activiti.org/designer/update在线插件安装 activiti5一共23张表 Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。 ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。 A</div> </li> <li><a href="/article/1265.htm" title="android的广播机制和广播的简单使用" target="_blank">android的广播机制和广播的简单使用</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%B9%BF%E6%92%AD%E6%9C%BA%E5%88%B6/1.htm">广播机制</a><a class="tag" taget="_blank" href="/search/%E5%B9%BF%E6%92%AD%E7%9A%84%E6%B3%A8%E5%86%8C/1.htm">广播的注册</a> <div>      Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应</div> </li> <li><a href="/article/1392.htm" title="Spring事务传播行为详解" target="_blank">Spring事务传播行为详解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1%E4%BC%A0%E6%92%AD%E8%A1%8C%E4%B8%BA/1.htm">事务传播行为</a> <div>        在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。         Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这</div> </li> <li><a href="/article/1519.htm" title="eidtplus operate" target="_blank">eidtplus operate</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/eidtplus/1.htm">eidtplus</a> <div>开启列模式: Alt+C 鼠标选择   OR   Alt+鼠标左键拖动 列模式替换或复制内容(多行): 右键-->格式-->填充所选内容-->选择相应操作 OR Ctrl+Shift+V(复制多行数据,必须行数一致) -------------------------------------------------------</div> </li> <li><a href="/article/1646.htm" title="【Kafka一】Kafka入门" target="_blank">【Kafka一】Kafka入门</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a> <div>这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧   下载Kafka http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz 2.10表示Scala的版本,而0.8.1.1表示Kafka</div> </li> <li><a href="/article/1773.htm" title="Spring 事务实现机制" target="_blank">Spring 事务实现机制</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86/1.htm">代理</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a> <div>Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口 </div> </li> <li><a href="/article/1900.htm" title="bootstrap源码学习与示例:bootstrap-dropdown(转帖)" target="_blank">bootstrap源码学习与示例:bootstrap-dropdown(转帖)</a> <span class="text-muted">BreakingBad</span> <a class="tag" taget="_blank" href="/search/bootstrap/1.htm">bootstrap</a><a class="tag" taget="_blank" href="/search/dropdown/1.htm">dropdown</a> <div>bootstrap-dropdown组件是个烂东西,我读后的整体感觉。 一个下拉开菜单的设计: <ul class="nav pull-right"> <li id="fat-menu" class="dropdown"> </div> </li> <li><a href="/article/2027.htm" title="读《研磨设计模式》-代码笔记-中介者模式-Mediator" target="_blank">读《研磨设计模式》-代码笔记-中介者模式-Mediator</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /* * 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。 * 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 * * 在我看来,Mediator模式是把多个对象(</div> </li> <li><a href="/article/2154.htm" title="常用代码记录" target="_blank">常用代码记录</a> <span class="text-muted">chenjunt3</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a><a class="tag" taget="_blank" href="/search/J%23/1.htm">J#</a> <div>  1、单据设置某行或某字段不能修改 //i是行号,"cash"是字段名称 getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false); //取得单据表体所有项用以上语句做循环就能设置整行了 getBillC</div> </li> <li><a href="/article/2281.htm" title="搜索引擎与工作流引擎" target="_blank">搜索引擎与工作流引擎</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a> <div>      最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)   -----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先</div> </li> <li><a href="/article/2408.htm" title="oracle Health Monitor" target="_blank">oracle Health Monitor</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/Health+Monitor/1.htm">Health Monitor</a> <div>About Health Monitor Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database. About Health Monitor Checks Health M</div> </li> <li><a href="/article/2535.htm" title="JSON字符串转换为对象" target="_blank">JSON字符串转换为对象</a> <span class="text-muted">dieslrae</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a> <div>    作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.   </div> </li> <li><a href="/article/2662.htm" title="C语言学习八结构体,综合应用,学生管理系统" target="_blank">C语言学习八结构体,综合应用,学生管理系统</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a> <div>实现功能的代码: # include <stdio.h> # include <malloc.h> struct Student { int age; float score; char name[100]; }; int main(void) { int len; struct Student * pArr; int i,</div> </li> <li><a href="/article/2789.htm" title="vagrant学习笔记" target="_blank">vagrant学习笔记</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/vagrant/1.htm">vagrant</a> <div>想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant   1. vagrant virtualbox 下载安装 https://www.vagrantup.com/downloads.html https://www.virtualbox.org/wiki/Downloads   查看安装在命令行输入vagrant     2.</div> </li> <li><a href="/article/2916.htm" title="14.性能优化-优化-软件配置优化" target="_blank">14.性能优化-优化-软件配置优化</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E9%85%8D%E7%BD%AE/1.htm">软件配置</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a> <div>1.Tomcat线程池 修改tomcat的server.xml文件: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m</div> </li> <li><a href="/article/3043.htm" title="一个不错的shell 脚本教程 入门级" target="_blank">一个不错的shell 脚本教程 入门级</a> <span class="text-muted">HarborChung</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>一个不错的shell 脚本教程 入门级 建立一个脚本   Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。   如同其他语言一样</div> </li> <li><a href="/article/3170.htm" title="Spring4新特性——核心容器的其他改进" target="_blank">Spring4新特性——核心容器的其他改进</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86/1.htm">动态代理</a><a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/1.htm">依赖注入</a> <div>Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring4新</div> </li> <li><a href="/article/3297.htm" title="Linux设置tomcat开机启动" target="_blank">Linux设置tomcat开机启动</a> <span class="text-muted">liuxingguome</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF%E5%8A%A8/1.htm">开机自启动</a> <div>执行命令sudo gedit /etc/init.d/tomcat6 然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。 #!/bin/bash # # /etc/rc.d/init.d/tomcat # init script for tomcat precesses</div> </li> <li><a href="/article/3424.htm" title="第13章 Ajax进阶(下)" target="_blank">第13章 Ajax进阶(下)</a> <span class="text-muted">onestopweb</span> <a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a> <div>index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/</div> </li> <li><a href="/article/3551.htm" title="Troubleshooting Crystal Reports off BW" target="_blank">Troubleshooting Crystal Reports off BW</a> <span class="text-muted">blueoxygen</span> <a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a> <div>http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE   Quite useful, especially this part: SAP BW connectivity For t</div> </li> <li><a href="/article/3678.htm" title="Java开发熟手该当心的11个错误" target="_blank">Java开发熟手该当心的11个错误</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a> <div>#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收 测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为</div> </li> <li><a href="/article/3805.htm" title="正则表达式大全" target="_blank">正则表达式大全</a> <span class="text-muted">yang852220741</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a> <div>今天向大家分享正则表达式大全,它可以大提高你的工作效率 正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。 一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>