My Java Learning Road 4: The first servlet

xiaoxiao2021-03-06  99

Note: The following article comes from the network

As

The operating system uses PATH to search for executables, the Java running environment also traversed ClassPath to find classes, even if the HelloWorld is simple, JVM will also traverse each path defined by classpath until the corresponding file is found.

I believe that the system used is not 2K is XP, and then set the path as follows:

My Computer -> Properties -> Advanced -> Environmental Variables

Then add: C: / JDK / LIB after the path of the environment variable: C: / JDK / lib

It can also be configured: C: / JDK / BIN;; c: /jdk/lib/dt.jar; c: /jdk/lib/tools.jar

★ Remember: Environment variables. Remember can not be small, it represents the current path, if there is less error, etc. will say!

Dt.jar is about the class library of the operating environment, Tools.jar is the class library about some tools.

If there is no configuration: C: / JDK / BIN, "Javac 'is not internal or external command will appear, nor is it a running program or batch file." This error.

Below we will write an example program:

Open Editplus, create a new Java file, please enter the following, you want a word without leakage, and select the case:

Public class helloworld {public static void main (string [] args) {system.out.println ("Hello, World!");}}

Then save this file (Ctrl S) to HelloWorld.java, Java is sized, so case sensation must be divided, it is helloworld.java or other.

Run: Start -> Run -> cmd

Switch the directory to the current directory in the console:

Javac HelloWorld.javajava HelloWorld

You will see the output Hello, World!

Javac is a compiled command, which compiles helloWorld.java into HelloWorld.class

Java is an explanation command, and JVM explains the HelloWorld.class.

at this time:

1. If Exception In Thread "Main" java.lang.noclassdeffounderror: HelloWorld is that you didn't add that in the environment variable. (Dot)

2, if Exception in Thread "main" java.lang.nosuchmethoderror: main or helloworld.java: 1: public class helloworld Must Be defined in a file called

"HelloWorld.java".

That is, you don't know how to write this HelloWorld, or if you have not saved as HelloWorld.java. This name must be the same as the name of the public class.

For the problem of environment variables, I will say this, let me say how to compile and run in Editplus, in Tools-> Parameter -> Configuring User Tools

1. Add a tool (add application)

Menu text: Compile Java Program

Procedure: c: /jdk/bin/javac.exe

Parameters: File Name

Initial directory: file directory

2. Add Tools (Add Applications)

Menu text: Run Java Program

Program: c: /jdk/bin/java.exe

Parameters: File Name (excluding extensions)

Initial directory: file directory

The tool set name can be added, such as Debug Java Program.

Then in the Tools drop-down menu, you will see two options of Compile Java Program and Run Java Program, you can use Ctrl 1 compile and Ctrl 2 running programs.

Let's discuss the operating environment of the servlet:

To run the servlet, JSP / Servlet Container, I suggest that beginners use Tomcat.

Tomcat (latest version 5.0): Tomcat-5 / nightly / jakarta-tomcat-5-bin-20030725.zip "> http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/jakarta-tomcat- 5-bin-20030725.zip

Then extract this compression package to:

C: / Tomcat

Then configure environment variables; add three system variables:

Java_Home: C: / JDKTOMCAT_HOME: C: / TomcatclassPath:% java_home% / lib;% Tomcat_Home% / LIB

Tomcat's environment variable is configured, the following verifies whether Tomcat can run:

Go to the C: / Tomcat / bin in the console, run startup, then appear back, and jump a big string, and finally indicate that Server has run.

Enter http: // localhost: 8080 in the browser, the welcome interface, indicating that Tomcat is no problem. Then write your first servlet as above, write your first servlet.

import java.io *;. import javax.servlet *;. import javax.servlet.http *;. public class HelloWorld extends HttpServlet {public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

Response.setContentType ("text / html"); PrintWriter out = response.getwriter (); out.println (" ); Out.Println (" this is my first servlet); Out.println ("</ Title> </ head> <body>); out.println (" <h1> hello, world! </ h1> "); Out.println (" </ body> </ html > ");</p> <p>}</p> <p>Then use Javac HelloWorld.java to compile this file, if there is an import javax.servlet. *</p> <p>Then you should copy the servlet.jar file in C: / Tomcat / Common / Lib to C: / JDK / JRE / LIB / EXT, compile again, no problem! Then in the C: / Tomcat / WebApps / root inside the Tomcat directory, follow the following file structure:</p> <p>Root / index.htmlroot / welcom.jsproot / web-inf / lib / myservlet.jar (if your servlet is piloted. JAR file, put it under LIB) root / web-inf / classes / helloworld. Class (placing the helloworld.class file of the above in this)</p> <p>Then enter http: // localhost: 8080 / servlet / helloWorld, which is returned by the Server Hope: Error 404 - Not Found</p> <p>What's going on?</p> <p>Servlet must register with the web.xml file below the directory of C: / Tomcat / WebApps / root / web -in, open this web.xml file with EP, join:</p> <p><Servlet> <servlet-name> HelloWorld </ servlet-name> <servlet-class> HelloWorld </ servlet-class> </ servlet> <servlet-maping> <servlet-name> HelloWorld </ servlet-name> <URL -pattern> / servlet / helloworld </ url-pattern> </ servlet-maping></p> <p>Such structure</p> <p><Servlet> <servlet-name> HelloWorld </ servlet-name> <servlet-class> HelloWorld </ servlet-class> </ servlet></p> <p>Represents the specified servlet class. And the following structure:</p> <p><Servlet-mapping> <servlet-name> HelloWorld </ servlet-name> <url-pattern> / server / helloworld </ url-pattern> </ servlet-mapping></p> <p>Indicates which URL schema that specifies the Helloservlet to map.</p> <p>After modifying Web.xml, restart Server, then enter http: // localhost: 8080 / servlet / helloworld, then a Hello, World! Waiting for you.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-105725.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="105725" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.034</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'kAA4DQQvKiosZZAxqAI32ZzrbxQjzZTUz7tDLz4RPvzvjGrWWvY0frBK8aUQ7gIG_2BxF9dz2OcQp7HS9sMlIN8g_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>