1、把 servlet-api.jar 包拷贝到工程下,servlet-api.jar 在tomcat 安装包bin目录下可以找到。
2、把servlet-api.jar 添加到工程 Java Build Path 中。
3、修改工程编译的class文件存放位置到WEB-INF目录下的classes文件夹下。
Java Build Path—Source—最下面修改路径即可。(注意路径是以工程名开头)
4、在工程src目录下建立要开发的程序。(此处路径随意,在src目录下即可,下面以一条路静举例)
在工程src目录下建立servlet目录,在servlet目录下建立MySerclet.java文件开发程序。
5、配置web.xml文件
根据上面文件路径配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
servlet-class>servlet.MyServlet</servlet-class> -------此处为根目录下程序路径
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/welcomeServlet</url-pattern> -------此处名字可任意取
</servlet-mapping>
</web-app>
6、MyServlet.java程序如下:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) {
try{
PrintWriter wr = response.getWriter();
wr.write("<html>\r\n");
wr.write("<head>\r\n");
wr.write("<title>nihao</title>\r\n");
wr.write("<head>\r\n");
wr.write("<body>aa</body>\r\n");
wr.write("</html>");
}
catch(IOException e){
System.out.print("b");
}
}
}
7、在网页输入:http://localhost:8080/KMAS/welcomeServlet
*这里的上下文路径为KMAS
*上下文路径后边跟web-xml文件中设置的名字即可
8、执行效果如图:
8、servlet表单跳转
(1)在src/servlet 目录下创建MyServlet1.java 和 MyServlet2.java文件。
(2)在web.xml文件配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>servlet.MyServlet1</servlet-class>
</servlet>
<servlet>
<servlet-name>MyServlet2</servlet-name>
<servlet-class>servlet.MyServlet2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name> ---------必须与上面的一致
<url-pattern>/welcomeServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServlet2</servlet-name> ---------必须与上面的一致
<url-pattern>/welcomeServlet2</url-pattern> ---------任意,建议与名称相同
</servlet-mapping>
</web-app>
注意:同一文件名称要一样,不同文件名称不能一样。
(3)MyServlet1.java程序如下:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet1 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) {
try{
response.setContentType("text/html;charset=UTF-8");
PrintWriter wr = response.getWriter();
wr.write("<html>");
wr.write("<body bgcolor='dad4c9'><p><br>");
wr.write("<form action='/KMAS/welcomeServlet2' method='get'>");
wr.write("<table align='center' width='600px'>");
wr.write("<tr><td width='200px' align='right'>用户账号:</td>" +
"<td width='200px'><input type='text' name='id' size='20' maxlength='20' value=''> </td><td></td></tr>");
wr.write("<tr><td align='right'>用户密码:</td>" +
"<td><input type='password' name='password' value=''> </td></tr>");
wr.write("<tr><td align='right'><a HREF='registerUser.jsp'>注册用户</a></td>" +
"<td align='right'><input type='submit' value='提交'> </td></tr>");
wr.write("</table>");
wr.write("</form>");
wr.write("</body>");
wr.write("</html>");
}
catch(IOException e){
e.printStackTrace();
}
}
}
(4)MyServlet2.java程序如下:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet2 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) {
try{
response.setContentType("text/html;charset=UTF-8");
PrintWriter wr = response.getWriter();
String a = request.getParameter("id");
String password = request.getParameter("password");
wr.write("你好!"+a+"||\r\n");
wr.write("密码:"+password+"||\r\n");
}
catch(IOException e){
e.printStackTrace();
}
}
}
(5)执行效果如下:
=============================传递界面===================================
9、中文乱码问题(详见javaEE资料)
程序前加如下语句:
response.setContentType("text/html;charset=UTF-8");
10、表单跳转有2种方法。
<form action=” ” method=””>
此处method后可用post 或 get ,如果用post,跳转到的页面类名为doPost。如 用get,则跳转页面类名用doGet。一般情况下使用post。
还有一种情况就是可以跳转至自己本页面。在本页面程序中写2个类,一个类名是doPsot,一个类名是doGet。这样跳转时的method属性就决定跳转后执行哪个类中的程序。有点类似构造函数。
11、使用System.out.println();打印需要信息到控制台。
希望能够对大家有所帮助,也欢迎大家一起探讨大数据相关的各种疑难杂症问题。
---
更多文章关注公众号