接上篇《JAVA WEB快速入门之环境搭建》,在完成了环境搭建后(JDK、Tomcat、IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署,至于为什么要先写JSP WEB,而不是直接上SSM(Spring、SpringMVC、Mybatis),原因很简单,先得了解基础,再由浅入深,这是我的学习方法,如果一开始就写MVC,那么顶多也是照葫芦画瓢,很难深入,因为不知道原理,就无法扩展与灵活运用。好了废话不多说,开始本文的主题。
一、使用eclipse初始化一个JSP WEB项目(即:动态WEB项目),步骤如下:
如上图示注意选择TOMCAT版本
如上图示勾选生成web.xml,当然如果不勾选也行,但后续如果有需要用到配置的地方就需要再单独添加,故这里我选择一并生成。
最后点击finish按钮即可生成WEB项目
WEB项目的结构如下图示,每个部份都有说明,该图引用自网络
二、编写一个登录静态页面(login.html),注意静态页面(html)、动态页面(jsp)均应在WebContent目录下创建
后面采取默认即可,最后创建好空的login.html,然后写如下示例代码:
loginUserID:
Password:
Enter
三、编写服务端处理逻辑类(LoginServlet),该类必需继承自HttpServlet,并按需重写相关的请求方法,例如此处是:doGet(处理GET请求)、doPost(处理POST请求)
自定义的Servlet类统一放在src目录下,按照JAVA 标准以包、类层级呈现
如上图示,包名一般是域名的反写,大家可能看到下面还有一个创建package-info.java的勾选项,具体用法可参考:PACKAGE-INFO.JAVA 作用及用法详解
创建好LoginServlet类后,编写如下代码:(主要是doPost,用于处理登录请求)
package cn.zuowenjun.java;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet(name="LoginServlet",urlPatterns= {"/servlet/login"})
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
String uid = request.getParameter("uid");
String pwd = request.getParameter("pwd");
if (uid.isEmpty() || pwd.isEmpty()) {
respon