创建JavaWeb项目
Eclipse中新建一个Dynamic Web Project
指定项目名称、依赖环境
勾选生成web.xml选项
更改项目编译输出目录,项目右键 ->properties ->Java Build Path ->source ->Default output folder,修改为JavaWeb01/WebContent/WEB-INF/classes
在WebContent文件夹下新建一个index.jsp文件,修改其代码如下
JavaWeb01Stringname=request.getParameter("name");
out.print("欢迎" +name+"第一个JavaWeb程序");%>
OK了,发布测试一下
创建Servlet实例
新建Servlet文件
指定包名称、类名称
修改HelloServlet.java 代码如下:
packagecom.lock.test;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/*** Servlet implementation class HelloServlet*/@WebServlet("/HelloServlet")public class HelloServlet extendsHttpServlet {private static final long serialVersionUID = 1L;/***@seeHttpServlet#HttpServlet()*/
publicHelloServlet() {super();//TODO Auto-generated constructor stub
}/***@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//TODO Auto-generated method stub//处理中文
String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("欢迎" + name + " HelloServlet 第一个Servlet程序");
}/***@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//TODO Auto-generated method stub
doGet(request, response);
}
}
修改/WebContent/WEB-INF/web.xml文件如下:
JavaWeb01
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
HelloServlet
com.lock.test.HelloServlet
HelloServlet
/helloservlet
编译项目后,在Tomcat下发布测试
JSP运行原理简释
只有当客户端第一次请求JSP时,才需要将其转换、编译(所以第二次浏览同样的网页时,速度会更快)。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。
在Tomcat的work目录下,可看到该项目编译后的结果文件。
实际上,jsp文件转为java servlet(本质就是Java文件),然后再把java文件编译为class文件,最终执行的是class文件。