WEB服务器软件:
从Browser端发送数据到server端,我们称为请求,request
从Server端向浏览器端发送数据,我们称为相应,英语单词,response
关于Tomcat服务器的目录:
bin:这个目录是Tomcat服务器的命令文件存放的目录,比如:启动Tomcat,关闭Tomcat等
conf:这个目录是Tomcat服务器的配置文件存放目录,server.xml文件中可以配置端口号,默认Tomcat端口是8080
lib:这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是java语言编写的,这里的jar包里边都是class文件
logs:Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件
temp:Tomcat服务器的临时目录,存储临时文件
webapps:这个目录当中就是用来存放大量的webapp
work:这个目录是用来存放ISP文件翻译之后的java文件以及编译之后的class文件
bin目录下有一个文件:startup.bat,通过它可以启动Tomcat服务器
bat文件是批处理文件,这种文件中可以编写大量的windows的dos命令,然后执行bat文件就相当于批量的执行dos命令
sh文件在linux环境中执行,大量的shell命令编写在shell文件中
运行Tomcat:
停止Tomcat:
启动Tomcat后访问 localhost:8080出现如下界面即为成功
实现一个最基本的web应用:
找到Tomcat的webapps目录
进入文件夹建立自己的工程目录以及其中的html文件,如oa/index.html
访问
localhost:8080/oa/index.html
webapp的开发团队和webServer的开发团队之间有一套规范:javaEE规范之一,Servlet规范
Servlet规范的作用是webserver和webapp解耦合
Browser和Webserver之间有一套HTTP传输协议
webapp和数据库有一套JDBC规范
请求路径和java小程序之间应该有一个对应关系:这个对应关系应该由webapp的开发者提供
通过配置文件,反射机制来创建类,从而进行对应
因为Tomcat文件已经写好了,路径和配置文件的文件名是固定的,这都是servlet规范所规定的
开发一个带有servlet的webApp流程:
其中需要实现servlet中的5个方法
eg:
解决Tomcat乱码问题:
找到conf文件夹下的logging.properties,
找到下图代码
,将UTF-8改成GBK
访问时后边跟的应该是url-pattern的路径
浏览器发送请求,到最终服务器调用Servlet中的方法,是怎样的一个过程
怎么将一个信息直接输出到浏览器上?
需要使用ServletResponse接口,如下图
注意:设置响应的内容类型时不要在获取流之后设置,即不要在response.getWriter();后添加
response.setContentType("text/html")
向浏览器相应一段HTML代码:
使用idea开发servlet程序:
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
servletResponse.setContentType("text/html");
PrintWriter out=servletResponse.getWriter();
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/root";
String user="root";
String password="******";
conn= DriverManager.getConnection(url,user,password);
String sql="select * from t_student";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
String no=rs.getString("no");
String name=rs.getString("name");
out.print(no+name+"
");
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
finally {
if(rs!=null)
{
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null)
{
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null)
{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
xml中
aaa
com.xxxx.servlet.StudentServlet
aaa
/servlet/student
student page
student list