JavaWeb 第一周作业

在这里插入图片描述

步骤

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这个类中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值