15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Java实战Tomcat+Servlet+Sql开发简单网站配置环境

Java实战Tomcat+Servlet+Sql开发简单网站配置环境

时间:2023-05-23 15:48:01 | 来源:网站运营

时间:2023-05-23 15:48:01 来源:网站运营

Java实战Tomcat+Servlet+Sql开发简单网站配置环境:

装JDBC 配置SqlServer

1.下载Microsoft SQL Server JDBC 驱动程序

注意Java的版本,java7、8、12要安装不同的包。

压缩包解压

把sqljdbc42.jar(java8版本)或者sqljdbc41.jar(java7版本)放到java安装目录下的jre/lib/ext文件夹中。

最终路径:你的某个磁盘/java/jdk/lib/sqljdbc42.jar




2.配置SqlServer

打开SQL Server配置工具,开启TCP/IP,将其中一个IP设置为127.0.0.1,TCP端口设置为1433,重启SQL Server服务。然后重启电脑。安装步骤就这样。剩下就是写java代码了。

3.写代码

Java加载类包这样写:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

URL这样写:String url = "jdbc:sqlserver://127.0.0.1:1433";







二、Java使用JDBC连接SQL Server数据库实现学生成绩信息系统

1.需求任务

使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务:

(1)创建数据库students;

(2)在数据students中创建表scores,包括如下字段:学号、姓名、性别、得分,字段类型自行定义。学号为主键。 接着使用JDBC编写Java程序,完成如下任务:

(1)在表格scores插入5条记录,代表5个学生,三位男生二位女生,各字段内容自定(“得分”字段填入自定分数);

(2)显示5位学生的所有信息;

(3)将三位男生的得分减去5分,将两位女生的成绩加上3分;

(4)从键盘输入不同学号,根据学号显示相应学生的所有信息。

2.窗口界面设计

3.文件目录




4.SqlCode.java存放静态SQL代码

/* * 这里放的是 静态Sql代码*/public class SqlCode { // 在数据students中创建表scores static String createTable = "" + "USE students;" + "/n" + "CREATE TABLE scores" + "(" + "sno int not null," + "name varchar(20) not null," + "ssex varchar(10) CHECK(ssex IN('boy','girl'))," + "score int not null," + "PRIMARY KEY(sno)," + ")"; //在表格scores插入5条记录 static String insertValues = "" + "USE students" + "/n" + "INSERT INTO scores(sno,name,ssex,score) VALUES(1,'DaWang','boy','61')" + "/n" + "INSERT INTO scores(sno,name,ssex,score) VALUES(2,'ErWang','girl','62')" + "/n" + "INSERT INTO scores(sno,name,ssex,score) VALUES(3,'SanWang','boy','63')" + "/n" + "INSERT INTO scores(sno,name,ssex,score) VALUES(4,'siWang','girl','65')" + "/n" + "INSERT INTO scores(sno,name,ssex,score) VALUES(5,'wuWang','girl','66')"; //显示5位学生的所有信息 static String queryString = "" + "USE students" + "/n" + "SELECT TOP 5 * FROM scores"; //将三位男生的得分减去5 tucao:男生真累 static String updateScoreBoy = "" + "USE students" + "/n" + "UPDATE scores " + "/n" + "SET score = score - 5" + "/n" + "WHERE ssex = 'boy'" + "/n"; //将两位女生的成绩加上3分 static String updateScoreGirl = "" + "USE students" + "/n" + "UPDATE scores " + "/n" + "SET score = score + 3" + "/n" + "WHERE ssex = 'girl'" + "/n"; //删除某个学号 自己测试数据用的 static String deleteByIdSql = "USE students" + "/n" + "DELETE FROM scores WHERE sno = ";}


5.SqlServerStu.java文件就是主文件,使用JDBC来操作数据库

class sqlServer{ private Connection connection = null; //连接接口实例 private Statement statmment = null; //执行静态sql的接口实例 private PreparedStatement preStatement = null; //执行动态sql的接口实例 private ResultSet resSet = null; // sql查询的返回数据集合 String dbName = "students"; //数据库名 String tbName = "scores"; //数据表名 没必要其实 String url = "jdbc:sqlserver://127.0.0.1:1433"; //sqlserver连接地址url String userName = "sa"; //sqlserver的账号名 要在SMSS安全性里面设置 String passWord = "root"; //sqlserver的账号的密码 要在SMSS安全性里面设置 //下面就是按课题要求写的一些静态代码(String字符串类型,在SqlCode.java文件中的全局变量) String createTableSql = SqlCode.createTable; String insertSql = SqlCode.insertValues; String queryAllSql = SqlCode.queryString; String updateBoySql = SqlCode.updateScoreBoy; String updateGrilSql = SqlCode.updateScoreGirl; String delByIdSql = SqlCode.deleteByIdSql; //无参构造函数 初始化建立连接 public sqlServer() { // TODO Auto-generated constructor stub try { //加载数据库驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //DriverManager接口获取连接 this.connection = DriverManager.getConnection(url,userName,passWord); //获取 执行数据库静态SQL语法的接口 this.statmment = connection.createStatement(); if(connection != null) { System.out.println("连接成功!"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //有参构造函数 urlParam初始化建立连接 public sqlServer(String urlParam) { // TODO Auto-generated constructor stub try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); this.connection = DriverManager.getConnection(urlParam); this.statmment = connection.createStatement(); if(connection != null) { System.out.println("连接成功!"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //关闭连接 public void close() throws SQLException { if(resSet != null) { resSet.close(); } if(statmment != null) { statmment.close(); } if(preStatement != null) { preStatement.close(); } if(connection != null) { System.out.println("关闭连接!"); connection.close(); } } //打印输出 ResultSet集合中的数据 public void rsPrint(ResultSet rS) throws SQLException { if(rS == null) return; System.out.println(""); System.out.println("sno"+"| name"+" | ssex"+" | score"); while(rS.next()) { int sno = rS.getInt("sno"); String name = rS.getString("name"); String ssex = rS.getString("ssex"); int score = rS.getInt("score"); System.out.println(sno+" | "+name+" | "+ssex+" | "+score); } } //返回ResultSet集合 public ResultSet queryBySno(int snoId) throws SQLException { String queryByIdString = "" + "USE students" + "/n" + "SELECT * FROM scores" + "/n" + "WHERE scores.sno = ?" + ""; this.preStatement = connection.prepareStatement(queryByIdString); preStatement.setInt(1, snoId); return preStatement.executeQuery(); } //查询全部 public ResultSet queryAll(String querySql) throws SQLException { return statmment.executeQuery(querySql); } //创建数据库 public void generalExc(String sql) throws SQLException { preStatement = connection.prepareStatement(sql); preStatement.executeUpdate(); } //创建数据库 public void createDataBase(String dbName) throws SQLException { String createSql = "CREATE DATABASE "+dbName; preStatement = connection.prepareStatement(createSql);// preStatement.setString(1, dbName); preStatement.executeUpdate(); System.out.println("创建数据库"+dbName+"成功!"); } //删除数据库 public void delDataBase(String dbName) throws SQLException { String deleteSql = "DROP DATABASE "+dbName; preStatement = connection.prepareStatement(deleteSql);// preStatement.setString(1, dbName); preStatement.executeUpdate(); System.out.println("删除数据库"+dbName+"成功!"); } //通过sno学号删除 数据表中的记录 public void delById(int sno) throws SQLException { preStatement = connection.prepareStatement(delByIdSql + sno); preStatement.executeUpdate(); System.out.println("删除记录"+"成功!"); } //创建数据表 public void createTable(String createSql) throws SQLException { statmment.execute(createSql); System.out.println("创建数据表"+"成功!"); } //插入数据到数据表 public void insertValue(String insertSql) throws SQLException { statmment.execute(insertSql); System.out.println("删除数据表"+"成功!"); } //更新数据表中的数据 public void updateValue(String updateSql) throws SQLException { statmment.execute(updateSql); System.out.println("更新完成!"); } //scanner输入指定学号,查询学生信息 public void inputSnoAndQuery() throws SQLException { Scanner inputScanner = new Scanner(System.in); int snoId = inputScanner.nextInt(); rsPrint(queryBySno(snoId)); } //返回值:把ResultSet集合中的数据转换成String类型 (因为后面展示到窗口文本域需要string类型) public String returnString(ResultSet rS) throws SQLException { // TODO Auto-generated method stub StringBuffer myBuffer = new StringBuffer(); int line = 0; while(rS.next()) { if(line == 0) { line++; myBuffer.append("查询结果如下: "+"/n");// myBuffer.append("sno"+"| name"+" | ssex"+" | score"+"/n"); } int sno = rS.getInt("sno"); String name = rS.getString("name"); String ssex = rS.getString("ssex"); int score = rS.getInt("score"); myBuffer.append(sno+" | "+name+" | "+ssex+" | "+score+"/n"); } if(line == 0) myBuffer.append(""); return myBuffer.toString(); } }class window{ //组件 public JFrame sqlWindowFrame; public JPanel PanelSouth; public JPanel PanelNorth; public JTextArea textArea; public JScrollPane scrollPane; public JTextField inpuTextField; //一系列按钮 public JButton customQueryBtn; //执行自定义sql代码的查询按钮 public JButton noResultBtn; //执行没有返回值的sql代码的按钮 比如:create insert delete 这些 public JButton createDBBtn; //创建数据库按钮 public JButton createTBBtn; //创建数据表按钮 public JButton insertBtn; //添加数据按钮 public JButton showBtn; //展示5个学生数据的按钮 public JButton updateBtn; //更新数据的按钮 男-5 女+3 public JButton querySnoBtn; //通过学号查询的按钮 public JLabel labelSouth; //底部标签 public JLabel labelNorth; //顶部标签 public sqlServer myServer; //把sqlServer作为内部类 //窗口构造函数 主要用来初始化组件 public window() { // TODO Auto-generated constructor stub this.sqlWindowFrame = new JFrame("by fishers _(´ཀ`」 ∠)_"); //设置窗体 名字为notePad this.sqlWindowFrame.setLayout(new BorderLayout()); //边界布局方式 this.sqlWindowFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置关闭框 this.sqlWindowFrame.setSize(800,500); this.textArea = new JTextArea(); this.scrollPane = new JScrollPane(textArea); this.inpuTextField = new JTextField(30); this.customQueryBtn = new JButton("执行查询"); this.noResultBtn = new JButton("执行无返回值的sql"); this.createDBBtn = new JButton("创建数据库"); this.createTBBtn = new JButton("创建数据表"); this.insertBtn = new JButton("添加数据"); this.showBtn = new JButton("展示数据"); this.updateBtn = new JButton("更新数据"); this.querySnoBtn = new JButton("查询学号"); this.PanelSouth = new JPanel(); this.PanelNorth = new JPanel(); this.labelSouth = new JLabel("输入sql语法: "); this.labelNorth = new JLabel("内置功能区: "); this.myServer = new sqlServer(); textArea.setFont(new Font("宋体",Font.PLAIN,20)); textArea.setEditable(false); //设置文本域组件不可以编辑 itemAdd(); addListen(); } //添加组件都写在这里 public void itemAdd() { PanelSouth.add(labelSouth); PanelSouth.add(inpuTextField); PanelSouth.add(customQueryBtn); PanelSouth.add(noResultBtn); PanelSouth.add(noResultBtn); PanelNorth.add(labelNorth); PanelNorth.add(createDBBtn); PanelNorth.add(createTBBtn); PanelNorth.add(insertBtn); PanelNorth.add(showBtn); PanelNorth.add(updateBtn); PanelNorth.add(querySnoBtn); sqlWindowFrame.add(scrollPane,BorderLayout.CENTER); sqlWindowFrame.add(PanelSouth,BorderLayout.SOUTH); sqlWindowFrame.add(PanelNorth,BorderLayout.NORTH); sqlWindowFrame.setVisible(true); } //监听方法都写在这里 public void addListen() { //监听自定义查询按钮 customQueryBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub String textString = inpuTextField.getText(); System.out.println(textString); if(textString != null) { try {// myServer.rsPrint(myServer.queryAll(textString)); String queryAns = myServer.returnString(myServer.queryAll(textString)); System.out.println(queryAns); textArea.setText(queryAns); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); //监听没有返回值的按钮 noResultBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub String textString = inpuTextField.getText(); System.out.println(textString); if(textString != null) { try { myServer.generalExc(textString); textArea.setText("执行完成!"); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); //监听创建数据库按钮 createDBBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { myServer.createDataBase("students"); textArea.setText("创建数据库完成!"); } catch (SQLException e1) { // TODO Auto-generated catch block textArea.setText("创建数据库失败,请检查语法是否正确!或当前连接已经存在该数据库!"); e1.printStackTrace(); } } }); //监听创建数据表的按钮 createTBBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { myServer.createTable(myServer.createTableSql); textArea.setText("创建数据表完成!"); } catch (SQLException e1) { textArea.setText("创建数据表失败,请检查语法是否正确!或当前数据库中已经存在该数据表!"); e1.printStackTrace(); } } }); //监听插入数据的按钮 insertBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { myServer.insertValue(myServer.insertSql); textArea.setText("添加数据完成!"); } catch (SQLException e1) { textArea.setText("添加数据失败,请检查语法是否正确!或当前数据库中已经存在该数据!"); e1.printStackTrace(); } } }); //监听展示数据的按钮 showBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { String queryAns = myServer.returnString(myServer.queryAll(myServer.queryAllSql)); System.out.println(queryAns); textArea.setText(queryAns); } catch (SQLException e1) { e1.printStackTrace(); } } }); //监听更新数据的按钮 updateBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { myServer.updateValue(myServer.updateBoySql); myServer.updateValue(myServer.updateGrilSql); textArea.setText("更新数据完成!"); } catch (SQLException e1) { // TODO Auto-generated catch block textArea.setText("更新数据失败,请检查语法是否正确!"); e1.printStackTrace(); } } }); //监听通过学号查询数据的按钮 querySnoBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub try { int sno = Integer.valueOf(inpuTextField.getText()); String queryAns = myServer.returnString(myServer.queryBySno(sno));// if(queryAns == " " || queryAns == null) queryAns = "未查到该学生信息";// System.out.println(queryAns); textArea.setText(queryAns); } catch (SQLException e1) { // TODO Auto-generated catch block textArea.setText("查询失败,请检查语法是否正确"); e1.printStackTrace(); } } }); }}//主进程启动public class SqlServerStu { public static void main(String []args) throws SQLException {// String urlParam = "jdbc:sqlserver://127.0.0.1:1433?user=sa&password=root"; //这个连接url好像不能用啊// sqlServer myServer = new sqlServer();// myServer.createDataBase("students"); //创建数据库// myServer.createTable(myServer.createTableSql); //创建数据表// myServer.insertValue(myServer.insertSql); //增// myServer.rsPrint(myServer.queryAll(myServer.queryAllSql)); //查// myServer.rsPrint(myServer.queryBySno(2)); //查// myServer.updateValue(myServer.updateBoySql); //改// myServer.delById(1); //删// myServer.rsPrint(myServer.queryAll(myServer.queryAllSql)); //查// myServer.delDataBase("students"); //删// myServer.close(); //关闭连接// myServer.inputSnoAndQuery();// myServer.updateValue(myServer.updateBoySql);// myServer.delDataBase("students");// myServer.createDataBase("qwertest12"); window myWindow = new window(); //最后还是做成了窗口 orz }}


三、Java实战Tomcat+Servlet+Sql开发简单网站配置环境

课题描述:

创建的students数据库和其中的scores表

使用Tomcat作为Web服务器和Servlet容器,使用SQL Server/MySQL作为数据服务器,从浏览器端发起对Servlet的调用,完成如下任务:

(1)向scores表中插入新的记录,表示录入新学生信息;(注意:学号为主键,插入学号相同的学生要提示错误;如果学号由数据库自动生成除外)

(2)批量录入成绩,即:在一个界面上列出所有学生信息,在同一个界面上成绩还可以重新录入;录入部分或者全部学生成绩后,提交,将所有成绩写入scores表。(没有录入的成绩,可以暂定为0写入scores表)

(3)使用的静态html页面和动态Servlet的个数没有限制。




四、Eclipse编译器下配置Tomcat8.0.36

1.eclipse安装

只需将下载的压缩包进行解压,然后双击 eclipse.exe 文件即可。

2.下载Tomcat

查看使用的java是哪一个版本一般都是java7、8、12;所以安装Tomcat8.5以上即可。

下载好解压到随便一个目录,我的是下面这个目录:D:/tomcatresource




五、Eclipse环境下配置Tomcat8.0.36

1.打开Eclipse,单击“Window”菜单,选择下方的“Preferences”。

2.单击“Server”选项,选择下方的“Runtime Environments”。

3.点击“Add”添加Tomcat。

4.点击“Next”,选中自己安装的Tomcat路径

5.点击“Finish”完成。

六、Eclipse环境下配置Tomcat8.5.38

1.打开Eclipse,单击“Window”菜单,选择下方的“Preferences”。

2.单击“Server”选项,选择下方的“Runtime Environments”。

3.点击“Add”添加Tomcat。

4.点击“Next”,选中自己安装的Tomcat路径。

5.报错处理

从上图可以发现,在Eclipse集成Tomcat时,遇到了一个报错:

The Apache Tomcat installation at this directory is version 8.5.38. A Tomcat 8.0 installation is expected.


这里我的Tomcat的版本是8.5.38,报这个错的原因是Eclipse里面限制Tomcat的最高版本是8.0的,我用的Tomcat的版本明显高于Eclipse的要求。具体的改法如下:

首先找到Tomcat的本地安装路径,然后找到lib文件夹中的catalina.jar包,用解压软件打开这个jar包,依次找到并且双击打开catalina.jar/org/apache/catalina/util/ServerInfo.properties文件,如下所示:




将文件中server.info=Apache Tomcat/8.5.38中的8.5.38改成8.0.0即可。

修改完成后重新配置Tomcat就不会报错了,如下图所示。

6.点击“Finish”完成。

七、 建立一个Web应用

1.File → New → Dynamic Web Project

2.创建一个Dynamic Web Project

3.点击“Next”下一步

4.点击“Next”下一步

5.点击“Finish”完成




八、让Tomcat服务器显示在控制台上,将Web应用部署到Tomcat中

1.Window → Show View → Servers

2.选择Tomcat版本

点击链接No servers are available. Click ths link to create a new server,在弹出的对话框中选择Tomcat版本。

3.点击“Next”,添加我们的项目,选中项目并点击Add,或是双击都可以添加到右边

4.点击“Finish”完成




返回下方的“Servers”面板,右键单击该面板中的“Tomcat v8.0 Server at localhost”节点,在弹出的快捷菜单中单击“Start”,即可启动指定的Web服务器。

如果此时直接启动访问http://localhost:8080/day05 ,会发现会报404的错误。这是因为我们没有添加主页,下面添加主页(index.jsp)的内容:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!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=UTF-8"><title>欢迎页面</title></head><body> 欢迎使用eclipse部署Tomcat。</body></html>


5.web资源一定要在WebRoot目录下添加

6.访问链接







7.404错误码

浏览器可能会访问你的网页可能出现,解决方法:修改浏览器访问的url地址

浏览器上访问你的jsp页面的url地址是这样写的:

8.网页显示中文乱码

如果网页显示中文乱码按这样修改jsp页面,方框里的编码格式改成utf-8

九、新建Servlet

上面步骤做完,已经能够访问一个JSP静态页面了。
接下来是新建Servlet,来完成动态数据展示。

1.右键你的项目包,新建,选择servlet。

2.输入名字后,直接点击Finish,自动生成了servlet文件

3.Servlet,其实只需要重写doGet方法,把想要的数据加入到response对象中

4.添加文本内容

比如我append了这么一句话,"My First Hello world page2333"

4.启动servlet,打开浏览器,通过url访问你的servlet

5.出现404报错

6.只需要把url地址链接改成http://localhost:8080/项目名/selvert名/




十、把Servlet和jsp页面相关联

通过Servlet可以返回你想要的数据到Response对象中;
所以只需要在doGet中,调用JDBC连接数据库,把获取到数据库的数据,append加入到response对象中就可以了。
然后应该还要把response对象中的数据展示到JSP页面中。

如何把Servlet与JSP页面连接起来呢?也就是如何把response对象中的数据展示到JSP页面中?

比如我想把自己写的Servlet中的,doGet函数获得的数据,返回到JSP静态页面,交给自己编写的学生信息展示JSP静态页面展示数据,该怎么做?

1.需要先用request.setAttribute设置要传递的数据,

2.然后在Servlet使用RequestDispatcher接口来传递数据了,RequestDispatcher可以把响应工作(如展示学生信息)派发给jsp页面、其它Servlet、或者Html页面等。




十一、一个简单的测试浏览器访问JSP页面

1.实现传递jsp页面

servlet把一个学生的数据从数据库取出,向jsp页面传递学生数据,jsp页面展示该学生信息

在selvert的doGet函数中请求students数据库,转发数据到jsp页面,jsp页面展示数据。

测试代码的 整个目录结构是这样的,




2.selvlet中的doGet函数

其中World.java,这个selvlet中的doGet函数,是这样写的

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); Connection connection = null; //连接接口实例 Statement statmment = null; //执行静态sql的接口实例 PreparedStatement preStatement = null; //执行动态sql的接口实例 ResultSet resultSet = null; //sql查询的返回数据集合 String userName = "sa"; //数据库账号 String passWord = "root"; //数据库密码 String url = "jdbc:sqlserver://127.0.0.1:1433"; //sqlserver连接地址url int sno = 0; String name = null; String ssex = null; int score = 0; //加载数据库驱动 try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //DriverManager接口获取连接 try { connection = DriverManager.getConnection(url,userName,passWord); //获取 执行数据库静态SQL语法的接口 statmment = connection.createStatement(); if(connection != null) { System.out.println("连接成功!"); } //从数据库中 获取一位同学的个人信息 String querySqlString = "" + "USE students" + "/n" + "SELECT TOP 1* FROM scores"; resultSet = statmment.executeQuery(querySqlString); while(resultSet.next()) { sno = resultSet.getInt("sno"); name = resultSet.getString("name"); ssex = resultSet.getString("ssex"); score = resultSet.getInt("score"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //用setAttribute设置传递的数据参数 request.setAttribute ( "sno", sno) ; request.setAttribute ( "name", name) ; request.setAttribute ( "ssex", ssex) ; request.setAttribute ( "score", score) ; //重要的是getRequestDispatcher 把数据交给jsp页面响应 request.getRequestDispatcher ( "NewFile.jsp").forward( request , response );//转发到NewFile.jsp,让他去具体响应 }

3.NewFile.jsp静态页面

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>Insert title here</title></head><body>用户学号:${sno} 用户姓名:${name} 用户性别:${ssex} 用户分数:${score}</body></html>

4.浏览器访问JSP页面










Java实战|Tomcat+Servlet+Sql开发简单网站,从配置环境开始 - fishers - 博客园 (cnblogs.com)

Java使用JDBC连接SQL Server数据库 - fishers - 博客园 (cnblogs.com)

Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统 - fishers - 博客园 (cnblogs.com)

Eclipse环境下如何配置Tomcat,并且把项目部署到Tomcat服务器上_李阿昀的博客-CSDN博客_eclipse配置tomcat

【Servlet】关于RequestDispatcher的原理 - lulipro - 博客园 (cnblogs.com)

关键词:简单,配置,环境,实战

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭