-
/** * 自動回復功能控制層 */ @SuppressWarnings("serial") public class AutoReplyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("AutoReplyServlet接受send GET請求"); this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("AutoReplyServlet接受send post請求"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); QueryService queryService = new QueryService(); out.write(queryService.queryByCommand(req.getParameter("content"))); out.flush(); out.close(); } }查看全部
-
/** * 對話頁的初始化控制 */ @SuppressWarnings("serial") public class InitTalkServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("InitTalkServlet接受talk頁面get請求"); //設置編碼 req.setCharacterEncoding("UTF-8"); //向頁面跳轉 req.getRequestDispatcher("/WEB-INF/jsp/front/talk.jsp").forward(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("InitTalkServlet接受talk頁面POST請求"); this.doGet(req,resp); } }查看全部
-
標簽作用查看全部
-
如果js中Dom對象的值為 ""、null、undefined、0;則if(Dom對象)為false 點擊按鈕提交請求,判斷字符串不為空的話,執行ajax請求。 ajax復習: url:請求后臺的路徑 type:提交方式 dataType:數據類型 timeout:超時時間 success:成功后的回調函數,函數中的內容是對服務端傳遞的數據進行處理。 data:請求參數查看全部
-
Connection為何不需要commit();因為conn.setAutoCommit(true);設置為自動提交,而我們MyBatis把它封裝后,setAutoCommit(false);所以需要手動提交事務。 Ps1:a href="#" 這個在html中有什么作用?跳轉到本頁面頂部,一般建議寫成javascript:void(0);要好一點,點了一點反應都沒有,寫#點了會跳一下的。 Ps2:servlet拿到什么數據類型就什么類型,至于service不一致時,再service里面去修改,這也是service作用之一。 Ps3:MyEclipse對JS等文件報錯處理:http://jingyan.baidu.com/article/ca41422fe094251eae99ede7.html Ps4: /** * 調用后臺批量刪除方法 */ function deleteBatch(basePath){ $("#mainForm").attr("action",basePath+"DeleteBatchServlet.action"); $("#mainForm").submit(); } 解析:將id為mainForm的表單的action提交路徑改為basePath+"DeleteBatchServlet.action"這個并且執行submit提交表單!查看全部
-
改名字并覆蓋調用的方法查看全部
-
<%--刪除并保留查詢條件--%> <script type="text/javascript"> $(function () { $(".delete").click(function () { var href = this.href; alert("是否刪除"+href+"這個字段?"); alert("刪除成功!"); $("form").attr('action',href).submit(); return false; }) }) </script> <a href="${pageContext.request.contextPath}/DeleteOneServlet.action?id=${message.id}" class="delete">刪除</a>查看全部
-
separator分隔符查看全部
-
separator分隔符查看全部
-
應用log4j(日志)調試動態SQL: 1、jar包和配置文件 2、log4j.properties <1>log4j.rootLogger=DEBUG,Console:輸出級別(級別<由低到高>debug/info/warn/error)和輸出位置(控制臺) <2>log4j.appender.Console=org.apache.log4j.ConsoleAppender:配置這個類才會輸出在控制臺(可在別處) <3>log4j.appender.layout=org.apache.log4j.PatternLayout:布局(按照自己的想法去輸出)<4>log4j.appender.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n: %d:產生日志的時間 [%t]:產生日志所處線程的線程名稱 %-5p:輸出日志的級別、 "5":代表輸出的字符會占5位字符,不足則會用空格補齊; "-":指的是補齊的空格在右邊,沒有則在左邊. [%c]:指輸出這個日志時處于的那個類的全名,包括包名 %m:輸出的時候附加的信息 %n輸出換行 <5>log4j.logger.org.apache=INFO:為不同包配不同的級別,把總的覆蓋,可看到自己想看的信息 log4j配置詳解 一、log4j.rootLogger=INFO, stdout, R 第一個參數為等級,后面可跟一到多個參數,為輸出的位置; 例句的意思為將等級為INFO的日志信息使用stdout和R進行輸出,stdout和R可以自己命名; 等級可分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,OFF是關閉,不輸出任何信息,其他級別按這個順序依次降低,如果 指定一個級別,如INFO,則比該級別高的信息都會輸出查看全部
-
<!-- 配置sql語言,查詢語言,ID+ namespace="Message"為唯一的標識符 這里的parameterType請注意,拼接的sql語句的屬性可以是一個string 類型的, 多個必須封裝起來例如bean層調用時是她所在的包 一個 --> <select id="queryMessageList" parameterType="com.imooc.bean.Message" resultMap="MessageResult"> select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE <where> <!-- 我在此處開始使用mybatis的動態拼接了,用的是ognl的表達式,&&=and=&& “”="" ?號的處理是#{查詢的屬性}--> <if test="command != null and !"".equals(command.trim())"> and COMMAND=#{command} </if> <!-- 這里是模糊匹配,使用模糊匹配的話必須用'%'將傳參包起來 --> <if test="description != null and !"".equals(description.trim())"> and DESCRIPTION like '%' #{description} '%' </if>查看全部
-
Mybatis配置文件內容: 1)為避免在整個工程中出現重名的id,所以在配置文件中首先指定命名空間。 2)resultMap對應數據庫的一個表。其column屬性對應表中字段(或者查詢語句中字段的別名),property屬性對應實體類中的對應字段。(id表示主鍵,其余字段用result) 3)具體查詢語句的配置中,其parameterType指向一個封裝好的類,此類用來獲取動態sql的查詢條件。其后的resultMap指定查詢結果使用哪個類返回,這里就是2中的resultMap的id。查看全部
-
sqlsession調用 方法來執行 sql語句 只是輸入了select標簽的名字,但是并沒有輸入sql配置文件的uri,所以要在數據庫連接的核心配置文件中 導入 sql配置文件,即<mappers>標簽與子標簽<mapper> sqlsession調用時會用到這個名字 resultmap屬性。對應的是resultmap標簽的id mybatis配置文件中的mapper標簽 屬性是namespace 翻譯是命名空間 mapper標簽內包含 resultmap標簽 是執行完查詢語句后返回的結果集 resultmap有子標簽 id。 用來配置 有主鍵約束的行 和result。 用來配置其他行 并列關系 ,都有屬性column jdbctype property屬性 column看名字 就是數據庫的字段名 properry 是數據庫對應dao類中的屬性 select標簽 insert標簽 update標簽。這些標簽里寫的都是sql語句 resultMap 中id是標識,是唯一的。resultMap中的子標簽中的id表示后臺數據庫的主鍵,而result對應得實后臺數據庫除了主鍵以外的其他字段。查看全部
-
1.在核心配置文件中指定要執行的sql配置文件的路徑,使用<mappers>,可以添加多個sql映射文件,指定資源時,使用resource屬性指定資源路徑即可,這樣程序會自動讀取sql配置文件,并創建sqlSessionFactory。 2.配置messege.xml查詢數據庫(sql配置文件),如圖: 執行sqlSession.selectList()方法時,通過配置文件中的select標簽找到sql語句,執行數據庫的查詢,返回的結果通過select標簽中resultMap這樣的一個屬性,去查找resultMap標簽,然后按照resultMap中的標簽中的配置完成java屬性與數據庫字段的對應。 mybatis的sql語句通過xml文件進行配置 sql的配置文件中的<mapper>標簽的namespace要唯一,調用sql語句,eg:sqlSession.selectList("Messages.list");//namespace的名字點上語句的ID <resultMap type="" id="Message">//映射的是封裝返回結果的bean,type是bean的全類名,id要唯一(resultMap中) <id column="ID" jdbcType="VARCHAR" property="id"></id> //主鍵使用,column對應的是數據的字段名,jdbcType對應的是數據字段的類型,property對應的是實體的屬性名 <result ></result> //其他字段使用 </resultMap> 查詢語句: <select id="list" resultMap="Message">sql語句</select> 寫好的sql配置文件,可在mybatis的連接配置文件中引入: <mappers> <mapper resource="sql配置文件路徑" ></mapper> </mappers> <mappers>中子標簽<mapper>的resource屬性也是從src根目錄開始算起,“.”改為“/”;如果有多個<mapper>則需添加多個。查看全部
-
Ps1:配置文件的詳細路徑:src/test/java/org/apache/ibatis/submiited/complex_property/Configuration.xml Ps2:小技巧:粘貼類名,再粘貼對象名,改大小寫即可。 Ps3:順序(從底層往高層):實體類-->Dao-->Service-->Servlet-->頁面。 Ps4:數據庫服務啟動即可,無需登錄數據庫操作軟件。 Ps5:Dao層一般與表(實體類)相關,命名一般在實體類名+“Dao”即可;Service層命名一般與Servlet命名對應。查看全部
舉報
0/150
提交
取消