步骤
1
安装maven,tomcat,内容省略,了解基础知识
2
两种种方式,jsp,servlet输出helloword
Jsp方式
<html>
<body>
<h3>Hello World!</h3>
<h2>Hello World!</h2>
<h1>Hello World!</h1>
</body>
</html>
Servlet方式
package top.sehnsucht;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("HelloWord");
PrintWriter writer = resp.getWriter();
writer.print("<html>\n" +
"<body>\n" +
"<h5>HelloWorld</h5>\n" +
"<h4>HelloWorld</h4>\n" +
"<h3>HelloWorld</h3>\n" +
"</body>\n" +
"</html>");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
HelloServlet继承了httpservlet,httpservlet继承了genericservlet,genericservlet又实现了servlet接口
在servlet中,有一个service的方法
void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
两个参数,一个是请求一个是响应
该函数在httpservlet中获得了实现
但是我在helloservlet中重写的是doget的方法,这样的方式来用servlet输出
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("HelloWord");
PrintWriter writer = resp.getWriter();
writer.print("<html>\n" +
"<body>\n" +
"<h5>HelloWorld</h5>\n" +
"<h4>HelloWorld</h4>\n" +
"<h3>HelloWorld</h3>\n" +
"</body>\n" +
"</html>");
}
3
连接数据库
老师给的文件DbConn.jsp
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312" %>
<%@ page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>Database Connection Test</title>
</head>
<body>
<%
try {
//载入JDBC驱动程序(这里使用的是sqlserver,你可以根据自己的数据库来修改)
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
//定义连接URL、数据用户及密码
String url = "jdbc:mysql://localhost:3306/junior";
String dbUser = "root";
String dbPassword = "qqqqqq";
//建立连接
Connection conn = DriverManager.getConnection(url, dbUser, dbPassword);
//创建Statement对象(声明对象)
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql = "select * from people";
//执行查询或更新数据
ResultSet rs = stmt.executeQuery(sql);
//处理结果
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String school = rs.getString("school");
out.println("Id=" + id + " Name=" + name + " School=" + school + "<BR/>");
}
//关闭连接
//rs.close();
//stmt.close();
//关闭连接的同时还会同时关闭对应的Statement和ResultSet对象
conn.close();
} catch (ClassNotFoundException ex) {
out.println("加载类失败:" + ex.getMessage());
} catch (SQLException ex2) {
out.println("执行SQL出错:" + ex2.getMessage());
}
%>
</body>
</html>
由于换了电脑,数据库方面的设置没有怎么做,一开始是com.mysql.cj.jdbc.Driver有问题,后来maven换了其他驱动版本就好了
然后在数据库中建立相对应的表
create table people (
id int(8) not null ,
name char(60),
school char(60),
primary key (id)
);
insert into people values(1, "cai", "BNUZ");
就搞定了
4
备注:
Index.jsp是默认打开的
DbConn.jsp是输入的网址
然后我做了一个映射
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>top.sehnsucht.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
在输入/hello时访问我写的helloservlet这个类中