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/1950233199242178560.htm" title="x86-64汇编语言训练程序与实战" target="_blank">x86-64汇编语言训练程序与实战</a> <span class="text-muted">十除以十等于一</span> <div>本文还有配套的精品资源,点击获取简介:汇编语言是一种低级语言,与机器代码紧密相关,特别适用于编写系统级代码及性能要求高的应用。nasm编译器是针对x86和x86-64架构的汇编语言编译器,支持多种语法风格和指令集。项目Euler提供数学和计算机科学问题,鼓励编程技巧应用,前100个问题的答案可共享。x86-64架构扩展了寄存器数量并引入新指令,提升了数据处理效率。学习汇编语言能够深入理解计算机底层</div> </li> <li><a href="/article/1950233072825856000.htm" title="三菱PLC全套学习资料及应用手册" target="_blank">三菱PLC全套学习资料及应用手册</a> <span class="text-muted">good2know</span> <div>本文还有配套的精品资源,点击获取简介:三菱PLC作为工业自动化领域的核心设备,其系列产品的学习和应用需要全面深入的知识。本次资料包为学习者提供从基础到进阶的全方位学习资源,包括各种型号PLC的操作手册、编程指南、软件操作教程以及实际案例分析,旨在帮助用户系统掌握PLC的编程语言、指令系统及在各类工业应用中的实施。1.三菱PLC基础知识入门1.1PLC的基本概念可编程逻辑控制器(PLC)是工业自动化</div> </li> <li><a href="/article/1950232782412247040.htm" title="日更006 终极训练营day3" target="_blank">日更006 终极训练营day3</a> <span class="text-muted">懒cici</span> <div>人生创业课(2)今天的主题:学习方法一:遇到有用的书,反复读,然后结合自身实际,列践行清单,不要再写读书笔记思考这本书与我有什么关系,我在哪些地方能用到,之后我该怎么用方法二:读完书没映像怎么办?训练你的大脑,方法:每读完一遍书,立马合上书,做一场分享,几分钟都行对自己的学习要求太低,要逼自己方法三:学习深度不够怎么办?找到细分领域的榜样,把他们的文章、书籍、产品都体验一遍,成为他们的超级用户,向</div> </li> <li><a href="/article/1950232190038110208.htm" title="day15|前端框架学习和算法" target="_blank">day15|前端框架学习和算法</a> <span class="text-muted">universe_01</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>T22括号生成先把所有情况都画出来,然后(在满足什么情况下)把不符合条件的删除。T78子集要画树状图,把思路清晰。可以用暴力法、回溯法和DFS做这个题DFS深度搜索:每个边都走完,再回溯应用:二叉树搜索,图搜索回溯算法=DFS+剪枝T200岛屿数量(非常经典BFS宽度把树状转化成队列形式,lambda匿名函数“一次性的小函数,没有名字”setup语法糖:让代码更简洁好写的语法ref创建:基本类型的</div> </li> <li><a href="/article/1950231381485350912.htm" title="《极简思维》第三部分" target="_blank">《极简思维》第三部分</a> <span class="text-muted">小洋苏兮</span> <div>整理你的人际关系如何改善人际关系?摘录:因为人际关系问题是人们生活中不快乐的主要原因。感想:感觉这个说的挺对,之前我总是埋头学习,不管舍友不管自己的合作伙伴的一些事情,但实际上,这学期关注了之后好多了摘录:“亲密关系与社交会让你健康而快乐。这是基础。太过于关注成就或不太关心人际关系的人都不怎么快乐。基本上来说,人类就是建立在人脉关系上的。”感想:但是如果有时想的太多就不太好,要以一个开放的心态跟别</div> </li> <li><a href="/article/1950230873060208640.htm" title="你要记住,最重要的是:随时做好准备,为了你可能成为更好的自己,放弃现在的自己。" target="_blank">你要记住,最重要的是:随时做好准备,为了你可能成为更好的自己,放弃现在的自己。</a> <span class="text-muted">霖霖z</span> <div>打卡人:周云日期:2018年11月09日【日精进打卡第180天】【知~学习】《六项精进》0遍共214遍《通篇》1遍共106遍《大学》2遍共347遍《坚强工作,温柔生活》ok《不抱怨的世界》104-108页《经典名句》你要记住,最重要的是:随时做好准备,为了你可能成为更好的自己,放弃现在的自己。【行~实践】一、修身:(对自己个人)1、坚持打卡二、齐家:(对家庭和家人)打扫卫生,接送孩子,洗衣做饭,陪</div> </li> <li><a href="/article/1950230804957294592.htm" title="SpringMVC执行流程(原理),通俗易懂" target="_blank">SpringMVC执行流程(原理),通俗易懂</a> <span class="text-muted">国服冰</span> <a class="tag" taget="_blank" href="/search/SpringMVC/1.htm">SpringMVC</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a> <div>SpringMVC执行流程(原理),通俗易懂一、图解SpringMVC流程二、进一步理解Springmvc的执行流程1、导入依赖2、建立展示的视图3、web.xml4、spring配置文件springmvc-servlet5、Controller6、tomcat配置7、访问的url8、视图页面一、图解SpringMVC流程图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提</div> </li> <li><a href="/article/1950229986984128512.htm" title="贫穷家庭的孩子考上985以后会怎样?" target="_blank">贫穷家庭的孩子考上985以后会怎样?</a> <span class="text-muted">Mellisa蜜思言</span> <div>我出生在一个贫穷的农村家庭,据我妈说,我出生的时候才4斤多,而她生完我以后月子里就瘦到70斤。家里一直很穷,父母都是在菜市场卖菜的,家里还有几亩地种庄稼的。我很小开始就要去帮忙,暑假的生活就是帮忙去卖菜和割稻谷,那时候自己对于割稻谷这种事情有着莫名的恐惧,生怕自己长大以后还是每年都要过着割稻谷这种日子。父母因为忙于生计无暇顾及我的学习,幸好我因为看到他们这样子的生活,内心里有深深的恐惧感,驱使着我</div> </li> <li><a href="/article/1950227573938122752.htm" title="2019-06-05" target="_blank">2019-06-05</a> <span class="text-muted">第十七把巴鲁克</span> <div>今天去实验田里实习,见到了福寿螺真的可怕且牛皮,六级也快来了,说实话还是害怕。我昨天考了环工原理,真的太难了,太烦了,理工科真的难,烦。实验报告还是没写,要抓紧速度抓紧时间,还是应该学会努力学习,远离一些不上进的事物。</div> </li> <li><a href="/article/1950223878005518336.htm" title="为什么焦虑、抑郁、自残的青少年越来越多?" target="_blank">为什么焦虑、抑郁、自残的青少年越来越多?</a> <span class="text-muted">精神健康</span> <div>很多家长觉得没缺孩子吃的穿的,他们有安稳的生活,他们有什么可焦虑、抑郁的,但现在的孩子,学习压力越来越大,每天休息的时间越来越少,出现焦虑抑郁是很正常的。从发展的角度看,青少年时期,人的身体、情绪,智力、人格都急剧发展,正从未成熟走向成熟,情绪起伏不定,易冲动,再者,由于缺乏生活经验,以及来自于家长、学校、社会的各种要求和压力,从而不知所措,心中的焦虑、恐惧、彷徨得不到及时的排解,从而导致心理上的</div> </li> <li><a href="/article/1950222857124507648.htm" title="读书打卡《别想太多啦》" target="_blank">读书打卡《别想太多啦》</a> <span class="text-muted">chenchen_68ed</span> <div>第一,世间之事,不去尝试永远不知道其中的奥秘,在尝试中有失败是必然的。如果担心失败,那什么都学不会。第二,经历的失败越多,越会对失败者抱有宽容的态度,“原来如此,我也经历过类似的失败啦,那只是暂时的”。经历越多失败的长者,越能包容别人,这也就是所谓的“越年长越宽容”。成熟的人,就是在众多失败经历中不断学习,并接纳别人的失败。对于他人的小小过失不吹毛求疵,自己的心态会更加平和。在不断失败中学习,让自</div> </li> <li><a href="/article/1950222602781913088.htm" title="2023-01-26" target="_blank">2023-01-26</a> <span class="text-muted">胡喜平</span> <div>我觉得《可见的学习》一书确实从底层逻辑说清楚了,教学的本质。可是太多术语和概念,一时间难以消化啊。而且知道和懂得有距离,运用就更不行了,需要高手和专家的指导。我需要多听听新课标的讲座了,来反复印证。读论文也有了一点点灵感,明天修改我的论文。</div> </li> <li><a href="/article/1950221204333850624.htm" title="平静得接受自己的笨拙 20190118 晨间日记" target="_blank">平静得接受自己的笨拙 20190118 晨间日记</a> <span class="text-muted">吴伯符</span> <div>图片发自App最近做了一个关于微习惯的分享,这里有八个字:微量开始,超额完成。这里的言下之意其实是要你在一开始的时候,平静地接受自己的笨拙。接受自己的笨拙,理解自己的笨拙,放慢速度尝试,观察哪里可以改进,再反复练习,观察自己哪里可以再进一步改进,再反复…这是学习一切技能的必须的过程。这里的两个关键点是:1.尽快的开始这个过程,这就能够用到微习惯的微量开始。2.尽快的度过这个过程,这就需要用到超额完</div> </li> <li><a href="/article/1950219924043526144.htm" title="二十四节气组诗 谷雨" target="_blank">二十四节气组诗 谷雨</a> <span class="text-muted">离陌_6639</span> <div>图片来源网络,若侵犯了你的权益,请联系我删除6.谷雨文/离陌背上行囊背上如行囊的我从此任行程马不停蹄今天家乡的田野春雨快马加鞭播下希望的种子观音不语目送着我和夏天一道在观音山出关图片来源网络,若侵犯了你的权益,请联系我删除你好啊,我是离陌,已然在懵懂中走过了16年的岁月,为了珍惜当下的每一秒,所以立志做一名终身学习者。文学对于我来说是一种信仰,诗歌是我的生命。人生之道,四通八达,即入文学,自当持之</div> </li> <li><a href="/article/1950219166367674368.htm" title="包含日志获取webshell" target="_blank">包含日志获取webshell</a> <span class="text-muted">陈望_ning</span> <div>日志文件关闭:Apache目录下的httpd.conf文件#ErrorLog"logs/error.log"#CustomLog"logs/access.log"common加#号为注释不产生日志文件如果去掉#将会在Apache/logs/目录下产生日志文件linux:access_logerror_logwindows:access.logerror.logaccess_log每一行记录了一次网</div> </li> <li><a href="/article/1950219036667211776.htm" title="你好,2020年" target="_blank">你好,2020年</a> <span class="text-muted">瑄瑄妍妍的妈咪</span> <div>早上好,今天是2020年的第一天,也就是元旦,新年新的一天开始了。新的开始,重新规划未来的一年。从今天开始,用了一个新的记账软件,之前的随手记软件,也没有删除,只是重新下载了一个别的软件,开始一个新的记账旅程,对于理财开支,有个新的规划。通过小红书视频软件,学习了不少育儿知识,和各种不同的美食,以后动手制作,给宝宝做健康美味的营养餐。学习方面,继续学英语吧!虽然是抽出时间学的,进度也比较慢,但是积</div> </li> <li><a href="/article/1950216170401492992.htm" title="常规笔记本和加固笔记本的区别" target="_blank">常规笔记本和加固笔记本的区别</a> <span class="text-muted">luchengtech</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91/1.htm">电脑</a><a class="tag" taget="_blank" href="/search/%E4%B8%89%E9%98%B2%E7%AC%94%E8%AE%B0%E6%9C%AC/1.htm">三防笔记本</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%9B%BA%E8%AE%A1%E7%AE%97%E6%9C%BA/1.htm">加固计算机</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%9B%BA%E7%AC%94%E8%AE%B0%E6%9C%AC/1.htm">加固笔记本</a> <div>在现代科技产品中,笔记本电脑因其便携性和功能性被广泛应用。根据使用场景和需求的不同,笔记本可分为常规笔记本和加固笔记本,二者在多个方面存在显著区别。适用场景是区分二者的重要标志。常规笔记本主要面向普通消费者和办公人群,适用于家庭娱乐、日常办公、学生学习等相对稳定的室内环境。比如,人们在家用它追剧、处理文档,学生在教室用它完成作业。而加固笔记本则专为特殊行业设计,像军事、野外勘探、工业制造、交通运输</div> </li> <li><a href="/article/1950215728720310272.htm" title="《云襄传》:云襄做的局是浑水摸鱼吗?" target="_blank">《云襄传》:云襄做的局是浑水摸鱼吗?</a> <span class="text-muted">书生号贺</span> <div>云襄入南都是要浑水摸鱼吗?他是云台的高材生吗?他为啥笃定师父一定会让他留在南都?他为啥觉得他能够做局成功?他是在经商吗?还是在经营人心与欲望?云襄是云台弟子,云台属千门的一支,另一支叫凌渊,云台教人经商之道,重智慧,凌渊以武力取胜,但倍受打压。云襄学习十五年,下高山奔越州,途经南洋,因恩人闻聪被害,囚于白驹镇,念于情分,被卷入这样一个局面里,结识了舒亚南与金十两,于是,复仇小组成立,目标是南都漕帮</div> </li> <li><a href="/article/1950214458265628672.htm" title="心力践行营十二期一阶学习打卡" target="_blank">心力践行营十二期一阶学习打卡</a> <span class="text-muted">LX_王彤彤</span> <div>姓名:王彤彤时间:2021年4月24日一:朗读师父的十大人生哲学二:师父的早安分享感悟很喜欢这句话:所有的行动都是基于目标的尝试,没有所谓的失败,只是不同尝试后得到的不同结果,让我们更好地调整下一次的行动。三:感恩日记1.我太幸福了,我很感恩姑姑,因为姑姑放假又投喂了我,还给我带了饺子回家,这让我感觉很幸福。谢谢,谢谢,谢谢。2.我太幸福了,我很感恩师父晚上的直播,因为听他的分享我知道怎么更好的去</div> </li> <li><a href="/article/1950214205252628480.htm" title="为了在未来的人工智能世界中取得成功,学生们必须学习人类写作的优点" target="_blank">为了在未来的人工智能世界中取得成功,学生们必须学习人类写作的优点</a> <span class="text-muted">睿邸管家</span> <div>澳大利亚各地的学生在新学年开始使用铅笔、钢笔和键盘学习写字。在工作场所,机器也在学习写作,如此有效,几年之内,它们可能会写得比人类更好。有时它们已经做到了,就像Grammarly这样的应用程序所展示的那样。当然,人类现在的日常写作可能很快就会由具有人工智能(AI)的机器来完成。手机和电子邮件软件常用的预测文本是无数人每天都在使用的一种人工智能写作形式。据AI行业研究机构称,到2022年,人工智能及</div> </li> <li><a href="/article/1950213434863841280.htm" title="闭组进行时..." target="_blank">闭组进行时...</a> <span class="text-muted">李亚青_强化班</span> <div>今天是2019年12月1号距离开始三月学习的日子:2019年10月07,已经过去将近两个月,回顾这一阶段的学习,收获了什么?又学会了什么呢?图片发自App我想,收获最大的就是身边这一群人吧,有和蔼可亲的学姐,贴心的学长,嬉戏打闹,玩的不亦乐乎,但也同样认真踏实学习小伙伴图片发自App本以为在这样的时刻,有太多太多话,太多太多想法想要表达,可言到此处,又觉得似乎没有什么想要说的了还是那句话,幸运遇到</div> </li> <li><a href="/article/1950213052171350016.htm" title="2021-10-23" target="_blank">2021-10-23</a> <span class="text-muted">赵甄文的幸福</span> <div>秀荣感恩日记Day42[烟花]感恩语录感恩自己有能力有好身体,可以到处走动,做自己想做的事情10.23感恩日记今天做的事情瑜伽一小时户外散步一小时泡脚20分钟学习打卡和孩子沟通[爱心]感动的瞬间今天瑜伽回来,发现老公在厨房里做鱼。每次老公有时间休息的时候都会给我做硬菜。刘姐约我一起去公园散步晒太阳。虽然完美错过,但心里还是暖暖的。每天睁开眼打开手机,先去自己的群里逛一逛,每每发现有人点赞或者互动都</div> </li> <li><a href="/article/1950212797946195968.htm" title="孤独的守候" target="_blank">孤独的守候</a> <span class="text-muted">怒吼的生命</span> <div>孤独了时光岁月了寂寞带来了惆怅那些孤独的日子里我们珍惜奋斗起来品味人生的真谛做到更好奋斗当中的你是那么努力格外自律学习起来五彩斑斓那些日子时光匆匆人生的机会很多需要把握痛苦的回忆记得住那些忧愁孤苦五一的日子寂寞当中的你时光荏苒独自带给我荒草学习起来努力奋斗可是我们做的还不够把握发展生活带给我们更多希望静静的述说你的故事你的精彩人生当中我们总是努力把握生活带给我们更多的学习生活当中我们奋斗可是做的还</div> </li> <li><a href="/article/1950209368356089856.htm" title="AI模型训练中过拟合和欠拟合的区别是什么?" target="_blank">AI模型训练中过拟合和欠拟合的区别是什么?</a> <span class="text-muted">workflower</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/%E7%AE%97%E6%B3%95/1.htm">算法</a><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/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a> <div>在AI模型训练中,过拟合和欠拟合是两种常见的模型性能问题,核心区别在于模型对数据的学习程度和泛化能力:欠拟合(Underfitting)-定义:模型未能充分学习到数据中的规律,对训练数据的拟合程度较差,在训练集和测试集上的表现都不好(如准确率低、损失值高)。-原因:-模型结构过于简单(如用线性模型解决非线性问题);-训练数据量不足或特征信息不充分;-训练时间太短,模型尚未学到有效模式。-表现:训练</div> </li> <li><a href="/article/1950208989954371584.htm" title="Selenium 特殊控件操作与 ActionChains 实践详解" target="_blank">Selenium 特殊控件操作与 ActionChains 实践详解</a> <span class="text-muted">小馋喵知识杂货铺</span> <a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a> <div>1.下拉框单选操作(a)使用SeleniumSelect类(标准HTML标签)Selenium提供了内置的Select类用于操作标准下拉框,这种方式简单且直观。fromselenium.webdriver.support.uiimportSelect#定位下拉框dropdown=Select(driver.find_element("id","dropdown_id"))#通过以下三种方式选择单个</div> </li> <li><a href="/article/1950208983868436480.htm" title="2018-08-29精进打卡" target="_blank">2018-08-29精进打卡</a> <span class="text-muted">米兰王</span> <div>姓名:王兰英【日精进打卡第25天】【知~学习】《六项精进》1遍共39遍《大学》1遍共50遍【经典名句分享】一切都是最好的安排。【行~实践】一、修身:(对自己个人)1,散步1小时。2,每天坚持读书。二、齐家:(对家庭和家人)1,指导孩子开车。2,和家人一起逛超市。三、建功:(对工作)用心做好每件事。{积善}:发愿从2018年8月5日起1年内365个善事。今日1善,累计27善。【省~觉悟】正人先正己。</div> </li> <li><a href="/article/1950207203017289728.htm" title="陶勇:要不要参加分班考试学习?看完再说。" target="_blank">陶勇:要不要参加分班考试学习?看完再说。</a> <span class="text-muted">陶勇</span> <div>每年到了升学季,有很多培训机构都特别忙,为什么呢?因为有成千上万的学生,会选择升学前的分班考试的培训。比如说,小升初的孩子,到了暑假,很多孩子都会去选择一个初中,初一的分班考试的培训,那考入高中的孩子也有很多孩子会选择这种新高一的分班考试的培训。当然了,我个人认为这种选择并不是孩子自身的选择,主要还是家长的选择。当然也有少数孩子会对自己有比较高的要求,他们也会主动的去选择。为什么要去上分班考试的这</div> </li> <li><a href="/article/1950205711409541120.htm" title="selenium特殊场景处理" target="_blank">selenium特殊场景处理</a> <span class="text-muted">Monica_ll</span> <a class="tag" taget="_blank" href="/search/Selenium/1.htm">Selenium</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>文章目录前言一、多窗口处理二、浏览器弹窗处理包含alert、confirm、prompt三、鼠标和键盘事件处理前言在使用selenium操作浏览器的过程中可能需要借助键盘和鼠标功能完成一些操作,或者操作弹窗处理,本文主要是整理自己工作过程中使用过的一些方法一、多窗口处理在实际测试过程中经常会有通过点击或者连接打开新的窗口,这种情况下就需要切换webDriver到对应浏览器对象才能操作新窗口的元素。</div> </li> <li><a href="/article/1950204954295726080.htm" title="Anaconda 和 Miniconda:功能详解与选择建议" target="_blank">Anaconda 和 Miniconda:功能详解与选择建议</a> <span class="text-muted">古月฿</span> <a class="tag" taget="_blank" href="/search/python%E5%85%A5%E9%97%A8/1.htm">python入门</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/conda/1.htm">conda</a> <div>Anaconda和Miniconda详细介绍一、Anaconda的详细介绍1.什么是Anaconda?Anaconda是一个开源的包管理和环境管理工具,在数据科学、机器学习以及科学计算领域发挥着关键作用。它以Python和R语言为基础,为用户精心准备了大量预装库和工具,极大地缩短了搭建数据科学环境的时间。对于那些想要快速开展数据分析、模型训练等工作的人员来说,Anaconda就像是一个一站式的“数</div> </li> <li><a href="/article/1950204901929840640.htm" title="求解——妊娠纹霜哪个牌子好?皮肤专家推荐的热门秘诀!" target="_blank">求解——妊娠纹霜哪个牌子好?皮肤专家推荐的热门秘诀!</a> <span class="text-muted">zhangxing0100</span> <div>妊娠纹会严重影响女性的美观,那孕期的女性朋友该如何避免减少妊娠纹的出现呢?下面美腹丽人小编为大家分享了预防妊娠纹的方法,赶紧一起来学习吧!一、预防妊娠纹的饮食习惯1、多食用对皮肤内胶原纤维有利的食品来增强皮肤的弹性。2、控制糖分摄入,少吃色素含量高的食物。3、早晚两杯脱脂牛奶,多食用维丰富的蔬菜、水果和富含维生素及矿物质的食物,增加细胞膜的通透性和皮肤的新陈代谢功能。4、正确的喝水习惯可以提速皮肤</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>