1.Servlet
是一种开发动态web资源的技术.
通常来讲,我们将实现Servlet接口的java程序,称为Servlet.
2.开发一个动态web资源的步骤:
1.编写一个MyServlet.java,实现Servlet接口:
- package cn.web.servlet;
- import java.io.PrintWriter;
- import java.io.IOException;
- import javax.servlet.GenericServlet;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.ServletException;
- public class MyServlet extends GenericServlet {
- public void service(ServletRequest request, ServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter ps = response.getWriter();
- ps.write("<h1>欢迎访问!</h1>");
- }
- }
2.编译该java类:
编译命令: javac -classpath c:\apache-tomcat-6.0.20\lib\servlet-api.jar -sourcepath src -d . f:\MyServlet.java
编译结果: 在f:\下生成: cn\web\servlet\MyServlet.class
3.创建web应用的目录:
helloServlet\WEB-INF\classes\cn\web\servlet\MyServlet.class
helloServlet\WEB-INF\web.xml
4.编写web.xml:
参考tomcat中的conf\web.xml文档,复制头部和尾部,中间添加代码:
web.xml:
- <web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <servlet>
- <servlet-name>myServlet</servlet-name>
- <servlet-class>cn.web.servlet.MyServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>myServlet</servlet-name>
- <url-pattern>/servlet/myServlet</url-pattern>
- </servlet-mapping>
- </web-app>
5.复制helloServlet目录到tomcat的webapps目录下.
6.启动tomcat服务器.
7.使用IE浏览器访问:http://localhost:8080/helloServlet/servlet/myServlet,回车,页面显示: 欢迎访问!
遇到的问题:
1.测试发现浏览器访问后,显示"500"错误?
解决办法:
分析错误信息,发现提示无法访问MyServlet.class,再查看自己编写的类,找到问题: MyServlet.java没有使用public修饰
知识点: 当使用包名后,必须使用public修饰当前类
2.测试发现浏览器访问后,显示"乱码"?
解决办法:设置响应正文的字符编码:response.setContentType("text/html;charset=UTF-8");或: response.setContentType("text/html");response.setCharacterEncoding("UTF-8");或: response.setHeader("ContentType", "text/html;charset=UTF-8");