一、tomcat安装与配置
1.tomcat下载

将下载后的压缩包解压,将解压后的文件名改成tomcat(为了方便),然后放在自定义目录,我这里放在D盘(
D:\tomcat
)
2.环境变量的配置
变量名 | 变量值 |
---|---|
JAVA_HOME | D:\Jdk9(你自己的java安装路径) |
CLASS_PATH | .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注意第一个点号) |
Path | %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin |
CATALINA_HOME | D:\tomcat(tomcat的安装目录) |
CATALINA_BASE | D:\tomcat(tomcat的安装目录) |
TOMCAT_HOME | D:\tomcat(tomcat的安装目录) |
Path | %CATALINA_HOME%\bin |
CLASS_PATH | %CATALINA_HOME%\lib\servlet-api.jar |
我们首先进入tomcat的bin目录,找到startup.bat文件,用记事本打开,在最后一行加入pause
,保存,然后双击这个bat文件,然后可能会出现以下的情况,没有的话跳过...

根据提示,是JAVA_HOME没有设置,因为在配置java环境的时候,直接把jdk的bin目录放在path中就可以运行了..
现在我们来配置环境变量。
变量名 | 变量值 |
---|---|
JAVA_HOME | D:\Jdk9(你自己的java安装路径) |
CLASS_PATH | .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注意第一个点号) |
Path | %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin |
CATALINA_HOME | D:\tomcat(tomcat的安装目录) |
CATALINA_BASE | D:\tomcat(tomcat的安装目录) |
TOMCAT_HOME | D:\tomcat(tomcat的安装目录) |
Path | %CATALINA_HOME%\bin |
CLASS_PATH | %CATALINA_HOME%\lib\servlet-api.jar |
注:这些变量都是系统变量,已有的变量不用新建,直接在后面加入变量值,以英文分号隔开,没有的变量,新建即可
现在我们再来点击startup.bat
,就会出现如下情景:

此时我们在浏览器中输入
http://localhost:8080/
,出现以下情景,即tomcat配置成功。
二、在idea中新建web项目




File-->Project Structure









经过以上的步骤,tomcat容器配置好了。
修改index.jsp
,并右键运行:


现在在浏览器中打开
localhost:8080

三、servlet
1.在src下建立两个文件:

DBConnectionManager
是进行数据的连接,其中的getConnection()
方法返回这个连接ConnectionCheckServlet:
package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import dbManager.*;
public class CheckServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public CheckServlet() {
super();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = "";
String password = "";
String score="";
boolean ok = false;
if(request!=null) {
System.out.println("h");
name=request.getParameter("name");
password=request.getParameter("password");
System.out.println("name="+name);
try {
Connection connection = DBConnectionManager.getConnection();
// 查询数据库
PreparedStatement preparedStatement = connection.prepareStatement("select * from users where id=?");
preparedStatement.setString(1, name);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
if (rs.getString("password").equals(password)) {
ok = true;
score=rs.getString("score");
}
else {
ok = false;
}
}
}catch (SQLException e) {
e.printStackTrace();
}
}
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
if(ok==true){
out.println("登录成功!<br>");
out.println("学号:"+name+"<br>");
out.println("分数:"+score);
}
else {
out.println("登录失败!");
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public static void main(String[] args) {
}
}

将这两个文件进行编译,编译的文件会自动加载在WEB-INF/classes中
2.编写index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>BS登录模块<br>
<form method="post" name="form" action="servlets/CheckServlet">
<p>
用户名:
<input type="text" maxlength="40" size="20" name="name">
</p>
<p>
密码:
<input type="password" maxlength="40" size="20" name="password">
</p>
<p>
<input type="submit" value="登录" name="submit">
<input type="reset" value="重置" name="clear">
</p>
<p>
</p>
<p>
</p>
<p>
</p>
</form>
<br>
</body>
</html>
3.编写web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>CheckServlet</servlet-name>
<servlet-class>servlets.CheckServlet</servlet-class>
</servlet>
<!--映射关系-->
<servlet-mapping>
<servlet-name>CheckServlet</servlet-name>
<url-pattern>/servlets/CheckServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.配置mysql的驱动
经过以上步骤,运行,会出现找不到mysql的驱动,,明明之前已经添加了mysql的驱动文件,,,这边有点坑。。此处我们还需要在lib中添加mysql的驱动文件。
我们可以把mysql的驱动添加到D:\tomcat\lib
文件夹下,然后配置环境变量,在CLASS_PATH
中添加D:\tomcat\lib
,然后重新运行服务器,此时就可以正确的连接到数据库,完成基本的功能。
5.最终的效果


mysql的基本配置见Windows 下安装mysql及简单使用
网友评论