I. Database Design
0. Module: Personnel Management, material management, report, and logistics ticket
1. Report generation tools (third-party tools: directly connected to the database, available for SQL statement queries): clean tables, and so on;
2. WEB presentation tools: EXT, doado, etc.
3. Three paradigms of the database: A. The first paradigm: Primary keys, which cannot be separated and independent;
B. Second paradigm: completely dependent, with no partial dependency;
C. Third paradigm: There is no transfer dependency
4. Distributor tree structure setting: A number type data (in Oracle) is required as the primary key.
5. In powperdesiger, set the distributor level as a foreign key.
6. The process of converting the physical data model to an SQL Script: A: Error Correction: Use the check model in the tools on the menu bar to check whether there is any error. Right-click the error to automatically correct it;
B: Change the table name to uppercase and remove double quotation marks. In tools, both model option -- (code and name) must be set to uppercase ), change the table name to uppercase and remove the quotation marks;
C: cancel the foreign key constraint (one step that can be omitted). Remove the foreign key from the database => genarate datebase => option.
D: generate an SQL script, database => genarate datebase.
7. Oracle Installation Process:
A. Place the Oracle installation package in a directory without Chinese characters.
B. Verify that Oracle, SQL Server, and other databases are installed on the local machine. Right-click my computer, choose manage> service. If you can find the relevant services, it indicates that the local machine has been installed.
C.when the decompression is complete, open the setup.exe file in the directory for installation;
D. we recommend that you create a file directory and install the database. Create a startup database (default database) Here. When we create a database instance, it will automatically create three users, sys, system, etc.
If the program is abnormal, an internal error occurs. If an internal error occurs, right-click set.exe -- properties -- compatibility (changed to Windows Server 2003) and run the installer as an administrator.
8. Import the SQL script to Oracle. The procedure is as follows: A. Create a user and use PLSQL developer to log on as a system user. Open a commend window and enter the following command: create user DRP identitied by DRP;
B. Create a tablespace. The command is as follows: "create tablespace ts_drp datafile 'd: \ oracle \ oracle1 \ oradata \ filedate-date.dbf 'size 100 m ;"
C. Assign the created tablespace to the created user. The command is as follows: "select username, default_tablespace from dba_users ;"
D. Use the System user to authorize the user. The command is as follows: "Grant create session, create table, create view, unlimited tablespace to DRP ;"
E. Switch to the new user, "Show user;" view current user; "conn DRP/DRP;" switch to the DRP user;
F. import the SQL script file, "@ C: \ Users \ Wenwen \ Desktop \ daplearning \ drp_oracle. SQL ;";
9. html-related knowledge: You can set the HTML encoding, cache, dynamic display, and search engine settings in the <meta> tag in A. B. Relative Path: store the image in the IMG folder at the same level as HTML, and directly use "IMG \ 1.jpg;
C. Horizontal line. <HR> you can set attributes such as length, width, and color,
D. hyperlink <a href = "#" target = "">
E. font: <font size = "16" color = "", <B> bold, <I> italic, <u> underline, <S> strike, <sub> subscript, <sup> superscript,
F. special characters: space, >,<, ", &, etc.
G. Keep the original document format: <PRE>
10. Form submission method: difference between get and post: A. Get has a limit on data sent: 256 bytes, And the sent content is displayed after the URL, which has the same effect as herf;
B. The size of data sent by post is not limited, and the sent data is not displayed after the URL.
11. ID is the unique identifier of the tag and cannot be repeated. If the name is the same as the type, the name can be duplicated. The data obtained by the server is always value, multiple checkbox selections, and single radio selections, select <option> select from the drop-down list, and change the mutiple attribute to multiple options.
12, <input type = "image" src = "a1.jpg"> equivalent to submit
13. html framework: <frameset Cols = "30%, * "> <frame name =" Left "src =" "> </frame> <frame name =" rigoal "src =" "> </frame> </frameset>
<IFRAME> internal scroll bar;
14. CSS log:. there are three methods to reference external CSS files: the first two are removed, and the third is: B .css: body {background-color: # ffcc66; Background-image: URL ("butterfly.gif"); background-repeat: No-repeat [Repeat-X];}
C. Font setting format: P {font-style: italic; font-weight: Bold (); font-size: 30px; font-family: Arial, sans-serif ;}
D. Text modifier: h1 {text-Decoration: underline [Line-through, overline];}
E. Horizontal font Spacing: h1 {letter-Spacing: 6px ;}
The F. CSS attribute text-transform is used to control the case sensitivity of text. Regardless of the case, you can use this attribute to make the first letter (capitalize), all uppercase (uppercase), or all lowercase (lowercase ).
G. Create a connection special effect: use pseudo Class A: link and a: visited for unaccessed links and accessed links respectively. The pseudo class corresponding to the active link is a: active, and the pseudo class corresponding to the link with the mouse hovering is a: hover.
Click to enlarge the font: A: hover {letter-Spacing: 10px; font-weight: bold; color: red ;}
Remove the slide line in the connection: A: link {color: Blue; text-Decoration: none ;}
H. Set the border style of the object, border: border-width | border-style | border-color;
Border-width: length: A length value composed of floating-point numbers and unit identifiers. It cannot be a negative value;
Border-style: None: no border, default value, solid: solid border, double: Double border,
Border-color: Color: Specifies the color,
Border-collapse, separate: default value. Border independent (standard HTML), collapse: adjacent edge is merged,
15. js Learning Log: A. Method for referencing external JS files: <SCRIPT src = "demo1.js" Language = "JavaScript">
B. Set the browser: Tools -- Internet Options -- Advanced -- display errors of each script; tools -- Internet -- General -- settings -- each time a webpage is accessed.
C. Use of local variables and global variables is the same as that of Java;
D. Forced type conversion: parseint () [parsefloat ()];
E. custom object: function person () {}this is the defined class; call: person P = new person (); Value: P. name = "James"; p. age = 12;
F. built-in object: object usage: person P = new object ();
String: var A = new string ("Hello World ");
G, Dom: a tag corresponds to a DOM object. The object-oriented idea uses these object operation labels; window. getelementbyid ("Demo"). value;
2. Development of the User Management Interface,
0. Copy the prototype to webroot,
1. Connect to the database, which is the same as MySQL and SQL server. Open Oracle service (Oracle... listener..., oralceserviceorclmk), copy the driver package, and write the database connection class;
2. XML-Related Knowledge:. compared with HTML, it separates data from form. XSL specifies the node names and sequences of XML, such as web. XML refers to the use of DTD, schema, and other provisions to point out <servlet>,
B. xml access method (that is, extracting XML content): sax, Dom, dom4j, JDOM, etc.
3. Write the login information (drivername, URL, username, password) to an XML file, read it, and connect to the database;
4. User Management Module Knowledge: A. Singleton mode, using the static keyword, Dao Singleton, which is consistent with the annotation of spring;
B. Use the Oracle client tool (TOAD) to automatically generate SQL statements such as addition, deletion, modification, and query;
C. The customer registration time utilizes the system time, preparestatement. settimestamp (1, new timestamp (system. currenttimemillis ()))
D. Change the HTML in the prototype to JSP, A, and the JSP header. B. Change the suffix;
5. js and regular expressions for verification: A. I understand how to use validator for verification. It is faster, but it is more restrictive and cannot be customized;
B. Add the return keyword after each if to make the verification more user-friendly;
C. regular Expression Syntax: var Re = new Regexp (/^ [a-z1-9A-Z] {} $/), regular expression to new Regexp object placement regular ,'/.. /'indicates the match regular expression;' ^ 'indicates the Start match,' $ 'indicates the end match,' [a-z1-9A-Z] 'indicates matching any character in this range, '{4, 6}' indicates that the string can only be 4-6 digits;
6. keyboard listening events: A, <body onload = "Init ()"> the init function controls the mouse focus to the specified position when the page is loaded;
B, <input type = "text" onkeypress | onkeydown = "funtion ()">; event. keycode gets the Unicode OF THE pressed key and can perform certain operations;
C. Set event. srcelement or obtain the object that triggers the event. After obtaining the form, set its attributes such as action and submit for jump submission;
7. connection between the business layer and the database in JUnit unit testing (learn more)
8. Chinese garbled processing: pageencoding In the JSP header restricts the encoding method sent from the server to the client, while request. the setcharacterencoding method restricts the encoding method when the client sends data to the server;
9. When there is data to be queried in the database, the data should be returned to the text box; (not implemented)
10. Ajax implements server-side re-check. Details are described in the Ajax of step Learning: A. Note: The data obtained by xmlhttpreq. responsetext has spaces. It must be removed before determining whether the data is correct;
B. checkidinfo. innerhtml = "<font color = 'blue'> Yes </font> ";
C. checkidinfo must be a global variable or be retrieved again in the callback function;
11. paging query (Oracle): Step 1: Write SQL statements in the Oracle database. Layer 3 nesting requires continuous use of rownum to continuously nest data on each page; select T. * From (select rownum FN, T. * From (select * From t_user where user_id <> 'root') t where rownum <= 4) t where FN> 2
Step 2: Check the total number of SQL statements;
Step 3: According to currentpageno (current page), pagesize (How many records are displayed on a page): "<=" range: currentpageno * pagesize, ">" range (currentPageNo-1) * pagesize
Step 4: complete the basic query in the first three steps, and encapsulate the pagemodel class;
12. modify user:. vaR selectflag = document. getelementbyname ("selectflag"); The selectflag here is an array. After obtaining it, It cyclically verifies whether it is selected. Note: set the value of the multiple selection boxes on the page to userid, it is convenient for the URL to get it;
B. Next, location = URL. Call the SER to complete related operations;
13. delete user:. multiple deletions, get an array of IDS through the following method, and call the deletion logic of the business layer cyclically, string [] values = request. getparametervalue (); get an array,
14. filter: (can be used for character encoding settings, permission settings, servlet. do settings) Execution Process: The Aspect-Oriented Idea (AOP) is located in a series of filter chains between Tomcat and servlet,
A. the server is automatically initialized when Tomcat is started;
B. Tomcat receives the data from the Web Client, And the request encapsulates the data;
C. The request arrives at the specified filter directory and transmits the request data here. fliter calls the dofilter method to perform related global settings. It calls the dofilter method to send it to servlet for addition, deletion, modification, and query at the business layer;
D. After the servlet completes the operation, the returned data is encapsulated in response. Then, it enters the filter and ends the filter;
15. select All or select none: Use a JS function. Of course, jquray is used before. After you get the name = "selectflag" of the checkbox in each row, for Loop sets his checked attribute to true, flag [I]. checked = true;
16. Filter for User Logon: <not implemented>
17. url: The Role of request. getcontextpath;
18. SQL injection: Select * From t_user where user_id = 'fdfdfd 'and Password = ''or '1' = '1'. You can find some users;
19. Batch Delete, submit a transaction, and use string to spell SQL statements;
3. Development of distributor management interface
1. Complete tree structure development (as an example to facilitate future use of trees );
2. Use of Rational Rose;
3. using a table to achieve auto-increment, RS is used in Java. getint ("value") obtains the data, select (T. value + 1) as value from t_table_id t where table_name = 't_ client ';
4. database pessimistic lock select (SQL ).. + for update; when a transaction is rolled back or committed, other users can use this object and release this lock, Syn... that method is the same.
5. DAO mode: 1. It can be divided into the presentation layer, business layer, and persistence layer (JDBC connected to the database );
2. Interface-oriented. For example, JDBC connection calls are all abstract interface-oriented, which facilitates expansion; one-way dependency;
3. Factory mode: function-encapsulates the JDBC access details and releases Dao;
4. The Dao layer is fine-grained and does not involve logic. For example, you can determine whether the DaO layer already exists before adding it. In the manager layer, you need to add some logic, such as checking or modifying other tables;
6. access path (failure in JS): Return to the root <% @ page Language = "Java" Import = "Java. util. *" pageencoding = "gb18030" %>
<% @ Page import = "com. Wenwen. DRP. datadict. *" %>
<%
String Path = request. getcontextpath ();
String basepath = request. getscheme () + ": //" + request. getservername () + ":" + request. getserverport () + path + "/";
%>
<HTML>
<Head>
<Base href = "<% = basepath %>">
7. Custom exceptions (runtime exceptions) are thrown to the interface for relevant processing;
8. servlet filter configuration: 1. The filter only filters the files in the specified path. Therefore, the filter must be configured in the servlet;
2. The filter only applies to post submission;
9. Request forwarding and redirection paths: 1. Request. getrequestdispatcher ("/basedata/item_add.jsp"). Forward (request, response );
2. resp. sendredirect (req. getcontextpath () + "/basedata/item_maint.jsp ");
10.404 and 500 Error Filter Optimization:
11. debugging skills: NULL pointer, 1. Find the sevlet of the first stack object in work, and the number of rows has an error;
2. If a null pointer is displayed, the creation of the object fails, the object property is not set, or the method for creating the object is not called;
3. Set the breakpoint to check whether the DaO layer method is called. If the method is not redirected to the debug interface, the method is not called;
12. In Java, you can directly obtain the value of checkbox with the value true. The Code is as follows: String [] userids = request. getparametervalues ("selectflag ");
13. When request acceptance is used on the return interface for successful addition, deletion, and modification, it is best to use three operators, such as: <% = request. getattribute ("MSG") = NULL? "": Request. getattribute ("MSG") %>
14. Image Upload:
15. Complex factory mode (spring): 1. To set a servlet to initialize at Tomcat startup, add: <load-on-startup> 2 </load-on-startup>
2. a deep understanding of the factory model and its implementation;
3. Ensure that the application domain is used in the factory Singleton;
4. Ensure that map is used for itemdao and service Singleton;
26. El learning;
27. Modify the password (Review JS and Ajax );
28. Create an object such as a flow table (UML is available on the desktop) and add a Master/Slave table for the flow table;
4. Single-table flow operations:
1. Generate the system time; new timestamp (system. currenttimemillis ());
2. threadlocal (thread local variable): A. Further encapsulate connection so that the same name variables of different threads do not affect each other and ensure thread security;
B. threadlocal is a range: local variable, global variable, within the entire thread;
3. Transaction batch processing: psts.addbatch(;;psts.exe cutebatch (); add multiple pieces of data in one commit;
4. Window. opener... get the parent window that opens the new window;
Bytes -------------------------------------------------------------------------------------------
I. basic understanding of spring:
0. Role of spring: instantiate related beans; automatically assemble and assemble beans into other beans;
1. Spring injection type: 1. setter method. This is a common method, that is, adding setter method; 2. constructor; 3. Interface injection;
2. Automatic Assembly: autowire = "byname" or "bytype". After automatic assembly, you do not need to manually specify the object to be assembled in bean. Spring automatically completes the assembly;
3. Scope: Scope = "prototype" the default mode is Singleton, but prototype is recommended;
4. XSD specifies the labels that XML can have: "spring/XSD namespace ";
5. in the bean tag, add the property init-method = "Init ()". init is a method in bean. When this bean is created, run this method first; "F: /spring/init-method"
6, @ antowire automatically prompts to appear; "F:/spring /@"
7, # How to Use autowire: add it to the method, which is injected by type by default. "F:/spring/autowire"
8. Resource injection. The default value is bytype @ resouce (name)
9. Spring's AOP Aspect-Oriented Programming: execute a paragraph before each method and implement it using a dynamic proxy class; "F:/spring/AOP contects ";
10. Use the proxy object and invocationhandler object to implement dynamic proxy; "F:/spring/proxy" "F:/spring/invocationhandler ";
11. simulate the dynamic proxy of spring: Configure <AOP: aspectj_autoproxy/> in XML and write the dynamic proxy class; "F:/spring/aop_aspect_xml" "F:/spring/aop_aspect_java ";
12. The dynamic proxy implementation process of spring, "F:/spring/spring_aop implementation" "F:/spring/spring_aop Implementation 1 ";
13. Spring connects to the database, "datasource", "F:/spring/spring_datasource ".
Bytes -------------------------------------------------------------------------------------------
: Project deployment
1. jspspace and domain name application trial:
A.www.netjsp.comrental space and domain name. If you are registered on this website, see pwd.txt
B. Create a VM and select JDK and tomcat to go to management;
C. Enable LeapFTP and server settings;
D. Use the eclipce database plug-in to connect to the remote server and create tables in it;
E. The directory in the project cannot be written to death because the project name is not uploaded.
Bytes --------------------------------------------------------------------------------------------
1. When using Div, span, etc., you must specify the float attribute, otherwise it will not be displayed;
2. magin is the margin, and padding is how far the border is in the content, it must be subtracted from the height and width of the control;
3. Set the width of the DIV, and set its margin value margin: 0 auto; to center.